Personalização dos Consoles customizing-the-consoles
O AEM fornece vários mecanismos para permitir que você personalize os consoles (e a 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, ela pode conter o código necessário para seu componente personalizado. -
Sobreposições
As sobreposições são baseadas nas definições de nó e permitem sobrepor a funcionalidade padrão (em/libs
) com sua própria funcionalidade personalizada (em/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).
- Usando e criando clientlibs.
- Usando e criando sobreposições.
- Granite
/libs
./libs
é substituído na próxima vez que você atualizar sua instância (e pode ser substituído quando você aplicar um hotfix ou pacote de recursos).-
Recriar o item necessário (isto é, como ele existe em
/libs
) em/apps
-
Fazer alterações em
/apps
Por exemplo, o seguinte local dentro da estrutura /libs
pode ser sobreposto:
-
consoles (qualquer console com base nas páginas de interface do Granite); por exemplo:
/libs/wcm/core/content
Personalizando a View Default para uma Console customizing-the-default-view-for-a-console
É 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:
- Nome:
sling:orderBefore
- Tipo:
String
- Valor:
column
- Nome:
Adicionar nova ação à barra de ferramentas add-new-action-to-the-toolbar
-
Você pode criar seus próprios componentes e incluir as bibliotecas de clientes correspondentes para ações personalizadas. Por exemplo, uma ação Promover para Twitter 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
Restringir uma ação da barra de ferramentas a um grupo específico restrict-a-toolbar-action-to-a-specific-group
-
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 neste nó, você pode definir o
groups
permitido para executar a ação específica; por exemplo,administrators
Personalização de Colunas na Exibição de Lista customizing-columns-in-the-list-view
cq/gui/components/siteadmin/admin/listview/columns/analyticscolumnrenderer
em /apps
.Para personalizar as colunas na exibição de lista:
-
Sobrepor a lista de colunas disponíveis.
-
No nó:
code language-none /apps/wcm/core/content/common/availablecolumns
-
Adicione suas novas colunas ou remova as existentes.
Consulte Uso de sobreposições (e o Sling Resource Merger) para obter mais informações.
-
-
Opcionalmente:
-
Se quiser conectar dados adicionais, você precisará gravar um PageInforProvider com um
Propriedade
pageInfoProviderType
.
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.
Filtrar recursos filtering-resources
Ao usar um console, um caso de uso comum é quando o usuário deve selecionar entre os recursos (por exemplo, páginas, componentes, ativos e assim por diante). 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 Personalizando a criação de páginas - Recursos de filtragem para obter detalhes.