Este documento descreve como personalizar consoles na interface moderna e habilitada para toque, e não se aplica à interface clássica.
O AEM fornece vários mecanismos para permitir que você personalize os consoles (e o funcionalidade de criação de página) da sua instância de criação.
Clientlibs As clientlibs permitem estender a implementação padrão para obter uma nova funcionalidade, além de reutilizar as funções, os objetos e os métodos padrão. Ao personalizar, você pode criar sua própria clientlib em /apps.
Por exemplo, ele pode conter o código necessário para o componente personalizado.
As Sobreposições são baseadas nas definições do nó e permitem sobrepor a funcionalidade padrão (em /libs
) com sua própria funcionalidade personalizada (no /apps
). Ao criar uma sobreposição, uma cópia 1:1 do original não é necessária, pois a fusão de recursos do sling permite a herança.
Eles podem ser usados de várias maneiras para estender os consoles AEM. Uma pequena seleção é abordada abaixo (em um nível alto).
Para obter mais informações, consulte:
Você deve não alterar nada no /libs
caminho.
Isso ocorre porque o conteúdo de /libs
é substituído na próxima vez que você atualizar sua instância (e pode ser substituído ao aplicar um hotfix ou pacote de recursos).
O método recomendado para configuração e outras alterações é:
Recriar o item necessário (ou seja, como ele existe em /libs
) em /apps
Fazer alterações em /apps
Por exemplo, o seguinte local dentro da variável /libs
a estrutura pode ser sobreposta:
consoles (qualquer console com base nas páginas de interface do Granite); por exemplo:
/libs/wcm/core/content
Consulte o artigo da Base de conhecimento, Solução de problemas da interface de toque AEM, para obter mais dicas e ferramentas.
É possível personalizar a exibição padrão (coluna, cartão, lista) de um console:
Você pode reordenar as exibições sobrepondo a entrada necessária em:
/libs/wcm/core/content/sites/jcr:content/views
A primeira entrada será o padrão.
Os nós disponíveis estão correlacionados com as opções de visualização disponíveis:
column
card
list
Por exemplo, em uma sobreposição para lista:
/apps/wcm/core/content/sites/jcr:content/views/list
Defina a seguinte propriedade:
sling:orderBefore
String
column
Você pode criar seus próprios componentes e incluir as bibliotecas de clientes correspondentes para ações personalizadas. Por exemplo, uma variável Promover para o Twitter ação em:
/apps/wcm/core/clientlibs/sites/js/twitter.js
Ele pode ser conectado a um item da barra de ferramentas no console:
/apps/<yourProject>/admin/ext/launches
Por exemplo, no modo de seleção:
content/jcr:content/body/content/header/items/selection/items/twitter
Você pode usar uma condição de renderização personalizada para sobrepor a ação padrão e impor condições específicas que devem ser atendidas antes de ser renderizada.
Por exemplo, crie um componente para controlar as condições de renderização de acordo com o grupo:
/apps/myapp/components/renderconditions/group
Para aplicá-los à ação Criar site no console Sites:
/libs/wcm/core/content/sites
Crie a sobreposição:
/apps/wcm/core/content/sites
Em seguida, adicione a condição de renderização para a ação:
jcr:content/body/content/header/items/default/items/create/items/createsite/rendercondition
Usando propriedades nesse nó, você pode definir a variável groups
autorizado a executar a ação específica; por exemplo, administrators
Esse recurso é otimizado para colunas de campos de texto; para outros tipos de dados, é possível sobrepor cq/gui/components/siteadmin/admin/listview/columns/analyticscolumnrenderer
in /apps
.
Para personalizar as colunas na exibição de lista:
Sobrepor a lista de colunas disponíveis.
No nó:
/apps/wcm/core/content/common/availablecolumns
Adicione suas novas colunas ou remova as existentes.
Consulte Uso de sobreposições (e a Fusão de recursos do Sling) para obter mais informações.
Opcionalmente:
Se quiser conectar dados adicionais, será necessário gravar um PageInforProvider com um
pageInfoProviderType
propriedade.
Por exemplo, consulte a classe/pacote anexado (do GitHub) abaixo.
Agora é possível selecionar a coluna no configurador de colunas da exibição em lista.
Ao usar um console, um caso de uso comum é quando o usuário deve selecionar entre os recursos (por exemplo, páginas, componentes, ativos, etc.). Isso pode tomar a forma de uma lista, por exemplo, da qual o autor deve escolher um item.
Para manter a lista em um tamanho razoável e também relevante para o caso de uso, um filtro pode ser implementado no formato de um predicado personalizado. Consulte este artigo para obter detalhes.