Show Menu
TÓPICOS×

Fragmentos de conteúdo configuram componentes para renderização

Há vários serviços Definição de serviços avançados que precisam de configuração avançados relacionados à renderização de fragmentos de conteúdo. Para usar esses serviços, os tipos de recursos desses componentes devem se tornar conhecidos pela estrutura de fragmentos de conteúdo.
Isso é feito configurando o serviço OSGi - Configuração do componente de fragmento de conteúdo.
Essas informações são necessárias quando:
  • É necessário implementar seu próprio componente baseado em Fragmento de conteúdo,
  • E precisa usar os serviços avançados.
É recomendável usar os Componentes principais.
  • Se não precisar dos serviços Definição de serviços avançados que precisam de configuração ​avançados descritos abaixo, ignore essa configuração.
  • Ao estender ou usar os componentes prontos para uso , não é recomendável alterar a configuração do OSGi.
  • Você pode gravar um componente do zero que usa somente a API Fragmentos de conteúdo, sem serviços avançados. No entanto, nesse caso, você terá que desenvolver seu componente para que ele lide com o processamento apropriado.
Portanto, é recomendável usar os Componentes principais.

Definição de serviços avançados que precisam de configuração

Os serviços que exigem o registro de um componente são:
  • Determinar as dependências corretamente durante a publicação (isto é, garantir que os fragmentos e modelos possam ser publicados automaticamente com uma página se tiverem sido alterados desde a última publicação).
  • Suporte para fragmentos de conteúdo na pesquisa de texto completo.
  • Gerenciamento/tratamento de conteúdo intermediário.
  • A gestão/tratamento de ativos de meios de comunicação mistos.
  • O Dispatcher libera fragmentos referenciados (se uma página que contém um fragmento for republicada).
  • Uso de renderização baseada em parágrafo.
Se você precisar de um ou mais desses recursos, então (normalmente) é mais fácil usar os Serviços avançados prontos para uso, em vez de desenvolvê-los do zero.

Serviço OSGi - Configuração do componente de fragmento de conteúdo

A configuração precisa estar vinculada à Configuração do componente de fragmento de conteúdo do serviço OSGi:
com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl
Consulte Configuração do OSGi para obter mais detalhes.
Por exemplo:
A configuração do OSGi é:
Etiqueta Configuração do OSGi Descrição
Tipo de recurso dam.cfm.component.resourceType O tipo de recurso a ser registrado; por exemplo,
core/wcm/components/contentfragment/v1/contentfragment
Propriedade de referência dam.cfm.component.fileReferenceProp O nome da propriedade que contém a referência ao fragmento; por exemplo fragmentPath ou fileReference
Propriedade do(s) elemento(s) dam.cfm.component.elementsProp O nome da propriedade que contém os nomes dos elementos a serem renderizados; por exemplo, elementName
Propriedade de variação dam.cfm.component.variationProp O nome da propriedade que contém o nome da variação a ser renderizada; por exemplo, variationName
Para algumas funcionalidades, seu componente terá que aderir às convenções predefinidas. A tabela a seguir detalha as propriedades que precisam ser definidas, pelo seu componente, para cada parágrafo (isto é, jcr:paragraph para cada instância do componente) para que os serviços possam detectá-las e processá-las corretamente.
Nome da Propriedade Descrição
paragraphScope
Uma propriedade de string que define como os parágrafos devem ser exibidos se estiverem no modo de renderização de um único elemento.
Valores:
  • all : para renderizar todos os parágrafos
  • range : para renderizar o intervalo de parágrafos fornecido por paragraphRange
paragraphRange
Uma propriedade de string que define o intervalo de parágrafos a serem enviados se estiver no modo de renderização de um elemento único.
Formato:
  • 1 ou 1-3 ou 1-3;6;7-8 ou *-3;5-*
    • - indicador de intervalo
    • ; Separador de lista
    • * caractere curinga
  • avaliado somente se paragraphScope estiver definido como range
paragraphHeadings Uma propriedade booleana que define se os cabeçalhos (por exemplo, h1 , h2 , h3 ) são contados como parágrafos ( true ) ou não ( false )

Exemplo

Como exemplo, consulte o seguinte (em uma instância do AEM predefinida):
/apps/core/wcm/config/com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl-core-comp-v1.config

Ele contém:
dam.cfm.component.resourceType="core/wcm/components/contentfragment/v1/contentfragment"
dam.cfm.component.fileReferenceProp="fragmentPath"
dam.cfm.component.elementsProp="elementName"
dam.cfm.component.variationProp="variationName"