AEM Forms biedt de Thema-editor mogelijkheid om adaptieve formulieren thema's te maken en te wijzigen. Voer de stappen uit die in dit artikel worden vermeld, slechts als u van een versie hebt bevorderd die de Redacteur van het Thema niet heeft en u een bestaande investering in thema's hebt die worden gecreeerd gebruikend Minder/CSS dossiers (pre-thema redacteursmethode).
Een adaptief formulierthema is een AEM clientbibliotheek waarmee u de stijlen (look and feel) voor een adaptief formulier kunt definiëren.
U maakt een adaptieve sjabloon en past het thema toe op de sjabloon. Vervolgens gebruikt u deze aangepaste sjabloon om een adaptief formulier te maken.
De volgende procedure wordt beschreven gebruikend steekproefnamen voor AEM voorwerpen zoals knoop, eigenschappen, en omslagen.
Als u deze stappen met de namen uitvoert, zou het resulterende malplaatje aan de volgende momentopname gelijkaardig moeten lijken:
momentopname van bosbestandAfbeelding:Voorbeeld van bosthema
Creëer een knooppunt van het type cq:ClientLibraryFolder
onder het /apps
knooppunt.
Maak bijvoorbeeld het volgende knooppunt:
/apps/myAfThemes/forestTheme
Voeg een multi-getaxeerde koordbezit categories
aan de knoop toe en plaats geschikt zijn waarde.
Stel de eigenschap bijvoorbeeld in op: af.theme.forest
.
Voeg twee mappen, less
en css
, en een bestand css.txt
toe aan het knooppunt dat in stap 1 wordt gemaakt:
less
map: Bevat de less
veranderlijke dossiers waarin u de less
variabelen bepaalt en less mixins
die worden gebruikt om de .css stijlen te beheren.
Deze map bestaat uit less
variabele bestanden, less
gemengde bestanden, less
bestanden die stijlen definiëren met behulp van mixins en variabelen. En al deze minder dossiers worden dan ingevoerd in styles.less.
css
map: Bevat de CSS-bestanden waarin u de statische stijlen definieert die in het thema moeten worden gebruikt.
Minder variabelebestanden: Dit zijn de bestanden waarin u de variabelen definieert of overschrijft die worden gebruikt bij het definiëren van CSS-stijlen.
Adaptieve formulieren bieden OTB-variabelen die zijn gedefinieerd in de volgende bestanden zonder .less:
/apps/clientlibs/fd/af/guidetheme/common/less/globalvariables.less
/apps/clientlibs/fd/af/guidetheme/common/less/layoutvariables.less
Adaptieve formulieren bevatten ook variabelen van derden die zijn gedefinieerd in:
/apps/clientlibs/fd/af/third-party/less/variables.less
U kunt de variabelen gebruiken waarvoor minder nodig is, maar u kunt ook deze variabelen overschrijven of nieuwe, minder variabelen maken.
Geef tijdens het importeren van de bestanden van de mindere voorprocessor in de instructie import het relatieve pad van de bestanden op.
Voorbeeld overschrijvende variabelen:
@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;
Om de less
variabelen met voeten te treden:
Standaardadaptieve formuliervariabelen importeren:
/apps/clientlibs/fd/af/guidetheme/common/less/globalvariables.less/apps/clientlibs/fd/af/guidetheme/common/less/layoutvariables.less
Importeer vervolgens het bestand met de waarde Minder, dat overschreven variabelen bevat.
Voorbeeld van nieuwe definities van variabelen:
@button-focus-bg-color: rgb(40, 208, 90);
@button-hover-bg-color: rgb(30, 156, 67);
Minder gecombineerde bestanden: u kunt de functies definiëren die variabelen als argumenten accepteren. De uitvoer van deze functies is de resulterende stijlen. Gebruik deze combinaties in verschillende stijlen om te voorkomen dat CSS-stijlen worden herhaald.
Adaptieve formulieren bieden OTB-mixen die zijn gedefinieerd in:
/apps/clientlibs/fd/af/guidetheme/common/less/adaptiveforms-mixins.less
Aangepaste formulieren bieden ook mengsels van derden, zoals gedefinieerd in:
/apps/clientlibs/fd/af/third-party/less/mixins.less
Bemonsteringsmixterdefinitie:
.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: Gebruik dit bestand om alle minder bestanden (variabelen, mixins, stijlen) op te nemen die u in de clientbibliotheek moet gebruiken.
In het volgende voorbeeld van het styles.less
-bestand kan de instructie import in elke willekeurige volgorde worden geplaatst.
De instructies voor het importeren van de volgende .less-bestanden zijn verplicht:
globalvariables.less
layoutvariables.less
components.less
layouts.less
@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%;
}
Het css.txt
bevat de paden van CSS-bestanden die voor de bibliotheek moeten worden gedownload.
Bijvoorbeeld:
#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
Het bestand styles.less is niet verplicht. Dit betekent dat u dit bestand niet hoeft te maken als u geen aangepaste stijlen, variabelen of mixen hebt gedefinieerd.
Als u echter geen bestand style.less maakt, moet u de commentaarmarkering in het bestand css.txt op de volgende regel verwijderen:
#base=less
En becommentariëer de volgende lijn:
styles.less
Nadat u een adaptief formulierthema hebt gemaakt, voert u de volgende stappen uit om dit thema in een adaptieve vorm te gebruiken:
Als u het thema wilt opnemen dat is gemaakt in sectie voor het maken van een adaptief formulierthema, maakt u een aangepaste pagina van het type cq:Component
.
Bijvoorbeeld, /apps/myAfCustomizations/myAfPages/forestPage
Voeg een eigenschap sling:resourceSuperType
toe en stel de waarde ervan in als fd/af/components/page/base
.
Als u een thema op de pagina wilt gebruiken, moet u een bestand library.jsp overschrijven aan het knooppunt.
Vervolgens importeert u het thema dat u hebt gemaakt in Een adaptieve sectie met formulierthema's van dit artikel maken.
Met het volgende voorbeeldcodefragment wordt het thema af.theme.forest
geïmporteerd.
<%@include file="/libs/fd/af/components/guidesglobal.jsp"%>
<cq:includeClientLib categories="af.theme.forest"/>
Optioneel: Hef op de aangepaste pagina de header.jsp, footer.jsp en de body.jsp op, al naar gelang de vereisten.
Een aangepaste sjabloon maken (bijvoorbeeld: /apps/myAfCustomizations/myAfTemplates/forestTemplate
) waarvan jcr:content verwijst naar een aangepaste pagina die in de vorige stap is gemaakt (bijvoorbeeld: myAfCustomizations/myAfPages/forestPage)
.
Maak een adaptief formulier met de sjabloon die u in de vorige stap hebt gemaakt. De vormgeving van het adaptieve formulier wordt bepaald door het thema dat is gemaakt in Een adaptieve sectie voor formulierthema maken van dit artikel.