Skapa anpassade adaptiva formulärteman creating-custom-adaptive-form-themes
Förutsättningar prerequisites
- Kunskap om LESS-ramverket (Leaner CSS)
- Skapa ett klientbibliotek i Adobe Experience Manager
- Skapa en adaptiv formulärmall för det tema du skapar
Adaptivt formtema adaptive-form-theme
Ett adaptivt formulärtema är ett AEM klientbibliotek som du använder för att definiera format (utseende och känsla) för ett adaptivt formulär.
Du skapar en adaptiv mall och använder temat för mallen. Du kan sedan använda den här anpassade mallen för att skapa ett anpassat formulär.
Skapa ett anpassat formulärtema to-create-an-adaptive-form-theme
Figur: Exempel på skogstema
-
Skapa en nod av typen
cq:ClientLibraryFolder
under noden/apps
.Skapa till exempel följande nod:
/apps/myAfThemes/forestTheme
-
Lägg till en strängegenskap
categories
med flera värden i noden och ange dess värde korrekt.Ange till exempel egenskapen till:
af.theme.forest
. -
Lägg till två mappar,
less
ochcss
, och en filcss.txt
till noden som skapades i steg 1:-
less
-mapp: Innehållerless
-variabelfilerna där du definierarless
-variablerna ochless mixins
som används för att hantera css-formaten.Den här mappen består av
less
variabelfiler,less
mixin-filer,less
filer som definierar format med hjälp av mixins och variabler. Alla dessaless
filer importeras sedan i styles.less. -
css
mapp: Innehåller css-filer där du definierar statiska format som ska användas i temat.
Mindre variabelfiler: Det här är de filer där du definierar eller åsidosätter variabler som används för att definiera CSS-format.
Adaptiva formulär innehåller färdiga variabler som definierats i följande
.less
-filer:/apps/clientlibs/fd/af/guidetheme/common/less/globalvariables.less
/apps/clientlibs/fd/af/guidetheme/common/less/layoutvariables.less
Anpassningsbara formulär innehåller även variabler från tredje part som definieras i:
/apps/clientlibs/fd/af/third-party/less/variables.less
Du kan använda variablerna
less
som tillhandahålls med adaptiva formulär, åsidosätta dessa variabler eller skapa nyaless
-variabler.note note NOTE När du importerar filerna för den mindre processorn anger du den relativa sökvägen för filerna i importsatsen. Exempel på åsidosättningsvariabler:
code language-css @button-background-color: rgb(19, 102, 44); @button-border-color: rgb(19, 102, 44); @button-border-size: 0px; @button-padding: 10px 15px; @button-font-color: #ffffff;
Så här åsidosätter du
less
variabler:-
Importera standardvariabler för anpassningsbara formulär:
/apps/clientlibs/fd/af/guidetheme/common/less/globalvariables.less/apps/clientlibs/fd/af/guidetheme/common/less/layoutvariables.less
-
Importera sedan den mindre filen som innehåller åsidosatta variabler.
Exempel på nya variabeldefinitioner:
code language-css @button-focus-bg-color: rgb(40, 208, 90); @button-hover-bg-color: rgb(30, 156, 67);
Mindre blandade filer: Du kan definiera funktioner som accepterar variabler som argument. Utdata för dessa funktioner är de resulterande formaten. Använd dessa blandningar i olika format så att du slipper upprepa CSS-formaten.
Adaptiva formulär innehåller färdiga blandningar som definieras i:
/apps/clientlibs/fd/af/guidetheme/common/less/adaptiveforms-mixins.less
Anpassningsbara formulär innehåller även tredjepartsmixar som definieras i:
/apps/clientlibs/fd/af/third-party/less/mixins.less
Samplingsdefinition:
code language-css .rounded-corners (@radius) { -webkit-border-radius: @radius; -moz-border-radius: @radius; -ms-border-radius: @radius; -o-border-radius: @radius; border-radius: @radius; } .border(@color, @type, @size) { border: @color @size @type; }
Styles.less File: Använd den här filen för att inkludera alla
less
-filer (variabler, mixins, styles) som du måste använda i klientbiblioteket.I följande exempelfil
styles.less
kan importsatsen placeras i vilken ordning som helst.Programsatserna för att importera följande
.less
filer är obligatoriska:globalvariables.less
layoutvariables.less
components.less
layouts.less
code language-css @import "../../../clientlibs/fd/af/guidetheme/common/less/globalvariables.less"; @import "../../../clientlibs/fd/af/guidetheme/common/less/layoutvariables.less"; @import "forestTheme-variables"; @import "../../../clientlibs/fd/af/guidetheme/common/less/components.less"; @import "../../../clientlibs/fd/af/guidetheme/common/less/layouts.less"; /* custom styles */ .guidetoolbar { input[type="button"], button, .button { .rounded-corners (@button-radius); &:hover { background-color: @button-hover-bg-color; } &:focus { background-color: @button-focus-bg-color; } } } form { background-image: url(../images/forest.png); background-repeat: no-repeat; background-size: 100%; }
css.txt
innehåller sökvägarna till css-filer som ska hämtas för biblioteket.Till exempel:
code language-javascript #base=/apps/clientlibs/fd/af/third-party/css bootstrap.css #base=less styles.less #base=/apps/clientlibs/fd/xfaforms/xfalib/css datepicker.css listboxwidget.css scribble.css dialog.css
note note NOTE Filen styles.less är inte obligatorisk. Det innebär att du inte behöver skapa den här filen om du inte har definierat några anpassade format, variabler eller blandningar. Om du inte skapar en style.less-fil måste du avkommentera följande rad i css.txt-filen: #base=less
Och kommentera följande rad: styles.less
-
Använda ett tema i ett anpassat formulär to-use-a-theme-in-an-adaptive-form
När du har skapat ett adaptivt formulärtema utför du följande steg för att använda det här temat i en adaptiv form:
-
Om du vill ta med temat som skapats i för att skapa ett anpassat formulärtemaskapar du en anpassad sida av typen
cq:Component
.Exempel:
/apps/myAfCustomizations/myAfPages/forestPage
-
Lägg till en
sling:resourceSuperType
-egenskap och ange dess värde somfd/af/components/page/base
. -
Om du vill använda ett tema på sidan måste du lägga till en åsidosatt fil library.jsp i noden.
Du kan sedan importera temat som skapats i Skapa ett adaptivt formulärtemaavsnitt i den här artikeln.
Följande exempelkodfragment importerar temat
af.theme.forest
.code language-jsp <%@include file="/libs/fd/af/components/guidesglobal.jsp"%> <cq:includeClientLib categories="af.theme.forest"/>
-
Valfritt: På den anpassade sidan åsidosätter du header.jsp, footer.jsp och body.jsp efter behov.
-
-
Skapa en anpassad mall (till exempel:
/apps/myAfCustomizations/myAfTemplates/forestTemplate
) vars jcr:content pekar på en anpassad sida som skapades i föregående steg (till exempel:myAfCustomizations/myAfPages/forestPage)
. -
Skapa ett adaptivt formulär med hjälp av mallen som skapades i föregående steg. Utseendet och känslan hos det adaptiva formuläret definieras av det tema som skapas i avsnittet Att skapa ett adaptivt formulärtema i den här artikeln.