Criação de temas de formulário adaptáveis personalizados creating-custom-adaptive-form-themes
Pré-requisitos prerequisites
- Conhecimento da estrutura MENOS (CSS mais importante)
- Como criar uma biblioteca do cliente no Adobe Experience Manager
- Criação de um modelo de formulário adaptável para usar o tema que você criar
Tema de formulário adaptável adaptive-form-theme
Um tema de formulário adaptável é uma biblioteca cliente AEM que você usa para definir os estilos (aparência e comportamento) de um formulário adaptável.
Você cria um modelo adaptável e aplicar o tema ao modelo. Em seguida, use este modelo personalizado para criar um formulário adaptável.
Para criar um tema de formulário adaptável to-create-an-adaptive-form-theme
Figura: Amostra de Tema da Floresta
-
Criar um nó do tipo
cq:ClientLibraryFoldernos termos do/appsnó .Por exemplo, crie o seguinte nó:
/apps/myAfThemes/forestTheme -
Adicionar uma propriedade de string com vários valores
categoriesno nó e defina seu valor adequadamente.Por exemplo, defina a propriedade como:
af.theme.forest.
-
Adicionar duas pastas,
lessecsse um arquivocss.txtpara o nó criado na etapa 1:-
lesspasta: Contém olessos arquivos variáveis nos quais você define a variávellessvariáveis eless mixinsusados para gerenciar os estilos .css.Esta pasta consiste em
lessarquivos variáveis,lessarquivos mixin,lessarquivos que definem estilos usando mixins e variáveis. E todos esses arquivos menores são importados em styles.less. -
csspasta: Contém os arquivos .css nos quais você define os estilos estáticos a serem usados no tema.
Menos arquivos de variáveis: Esses são os arquivos, onde você define ou substitui as variáveis usadas na definição de estilos de CSS.
Os formulários adaptáveis fornecem variáveis OOTB definidas nos seguintes arquivos .less:
/apps/clientlibs/fd/af/guidetheme/common/less/globalvariables.less/apps/clientlibs/fd/af/guidetheme/common/less/layoutvariables.less
Os formulários adaptáveis também fornecem variáveis de terceiros definidas em:
/apps/clientlibs/fd/af/third-party/less/variables.lessVocê pode usar menos variáveis fornecidas com formulários adaptáveis, pode substituir essas variáveis ou criar novas variáveis menos.
note note NOTE Ao importar os arquivos do menos pré-processador, na instrução import, especifique o caminho relativo dos arquivos. Exemplo de variáveis de substituição:
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;Para substituir o
lessvariáveis:-
Importar variáveis de formulário adaptável padrão:
/apps/clientlibs/fd/af/guidetheme/common/less/globalvariables.less/apps/clientlibs/fd/af/guidetheme/common/less/layoutvariables.less -
Em seguida, importe o arquivo less que inclui variáveis substituídas.
Amostra de novas definições de variável:
code language-none @button-focus-bg-color: rgb(40, 208, 90); @button-hover-bg-color: rgb(30, 156, 67);Menos arquivos mixin: É possível definir as funções que aceitam variáveis como argumentos. A saída dessas funções são os estilos resultantes. Use essas combinações em estilos diferentes para evitar a repetição de estilos de CSS.
Os formulários adaptáveis fornecem combinações de OOTB definidas em:
/apps/clientlibs/fd/af/guidetheme/common/less/adaptiveforms-mixins.less
Os formulários adaptáveis também fornecem mixins de terceiros definidos em:
/apps/clientlibs/fd/af/third-party/less/mixins.less
Definição de mistura de amostra:
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; }Arquivo Styles.less: Use esse arquivo para incluir todos os arquivos menores (variáveis, mixins, estilos) que você precisa usar na biblioteca do cliente.
Na amostra a seguir
styles.less, a declaração de importação pode ser colocada em qualquer ordem.As instruções para importar os seguintes arquivos .less são obrigatórias:
globalvariables.lesslayoutvariables.lesscomponents.lesslayouts.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%; }O
css.txtcontém os caminhos dos arquivos .css a serem baixados para a biblioteca.Por exemplo:
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.cssnote note NOTE O arquivo styles.less não é obrigatório. Isso significa que não é necessário criar esse arquivo, caso não tenha definido estilos, variáveis ou mixins personalizados. No entanto, se você não criar um arquivo style.less, no arquivo css.txt, será necessário remover o comentário da seguinte linha: #base=lessE comente a seguinte linha: styles.less -
Para usar um tema em um formulário adaptável to-use-a-theme-in-an-adaptive-form
Depois de criar um tema de formulário adaptável, execute as seguintes etapas para usar esse tema em um formulário adaptável:
-
Para incluir o tema criado em para criar um tema de formulário adaptável seção , crie uma página personalizada do tipo
cq:Component.Por exemplo,
/apps/myAfCustomizations/myAfPages/forestPage-
Adicione um
sling:resourceSuperTypee defina seu valor comofd/af/components/page/base.
-
Para usar um tema na página, você precisa adicionar um arquivo de substituição library.jsp ao nó .
Em seguida, importe o tema criado na seção Para criar um tema de formulário adaptável deste artigo.
O trecho de código de amostra a seguir importa a variável
af.theme.foresttema.code language-none <%@include file="/libs/fd/af/components/guidesglobal.jsp"%> <cq:includeClientLib categories="af.theme.forest"/> -
Opcional: Na página personalizada, substitua o header.jsp, o footer.jsp e o body.jsp, conforme necessário.
-
-
Crie um modelo personalizado (por exemplo:
/apps/myAfCustomizations/myAfTemplates/forestTemplate) cujo jcr:content aponta para uma página personalizada criada na etapa anterior (por exemplo:myAfCustomizations/myAfPages/forestPage).
-
Crie um formulário adaptável usando o modelo criado na etapa anterior. A aparência do formulário adaptável é definida pelo tema criado na seção Para criar um tema de formulário adaptável deste artigo.