Skapa anpassade adaptiva formulärteman creating-custom-adaptive-form-themes
Förutsättningar prerequisites
- Kunskap om LESS-ramverket (Leaner CSS)
- Så här skapar du ett klientbibliotek i Adobe Experience Manager
- Skapa en anpassad formulärmall för att använda det tema du skapar
Adaptivt formtema adaptive-form-theme
An adaptivt formulärtema är ett AEM klientbibliotek som du använder för att definiera format (utseende och känsla) för ett anpassat formulär.
Du skapar en adaptiv mall och tillämpa temat på mallen. Sedan använder du den här anpassade mallen för att skapa en adaptiv form.
Skapa ett anpassat formulärtema to-create-an-adaptive-form-theme
Bild: Exempel på skogtema
-
Skapa en nod av typen
cq:ClientLibraryFolder
under/apps
nod.Skapa till exempel följande nod:
/apps/myAfThemes/forestTheme
-
Lägga till en flervärdessträngsegenskap
categories
till noden och ange dess värde korrekt.Ställ till exempel in egenskapen på:
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
variabelfiler där du definierarless
variabler ochless mixins
som används för att hantera css-format.Mappen består av
less
variabelfiler,less
mixin filer,less
filer som definierar format med hjälp av blandningar och variabler. Alla dessa mindre filer importeras sedan i styles.less. -
css
mapp: Innehåller de css-filer i vilka du definierar statiska format som ska användas i temat.
Mindre variabelfiler: Detta är filerna, där du definierar eller åsidosätter variablerna som används för att definiera CSS-format.
Adaptiva formulär innehåller OTB-variabler som definieras 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 mindre variabler som finns i adaptiva formulär, åsidosätta dessa variabler eller skapa nya mindre 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-none @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;
Åsidosätta
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-none @button-focus-bg-color: rgb(40, 208, 90); @button-hover-bg-color: rgb(30, 156, 67);
Mindre filer: Du kan definiera de funktioner som accepterar variabler som argument. Utdata för dessa funktioner är de resulterande formaten. Använd dessa blandningar i olika format för att undvika att CSS-formaten upprepas.
Adaptiva former innehåller OTB-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-none .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 färre filer (variabler, mixins, styles) som du behöver använda i klientbiblioteket.
I följande exempel
styles.less
-filen kan importprogramsatsen 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-none @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%; }
The
css.txt
innehåller sökvägarna till css-filer som ska hämtas för biblioteket.Till exempel:
code language-none #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:
-
Inkludera temat som skapats i skapa ett anpassat formulärtema avsnitt, skapa en anpassad sida av typen
cq:Component
.Till 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 importerar sedan temat som skapats i Skapa ett anpassat formulärtemaavsnitt i den här artikeln.
Följande exempelkodfragment importerar
af.theme.forest
tema.code language-none <%@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 egen 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 Skapa ett adaptivt formulärtemaavsnitt i den här artikeln.