Show Menu
TÓPICOS×

Fragmentos de conteúdo Configurando 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.
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 predefinidos, não é recomendável alterar a configuração.
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, será necessário desenvolver o 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 a funcionalidade predefinida, em vez de desenvolvê-la 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 de 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 (por exemplo, para renderizar apenas um intervalo de parágrafos), você terá que aderir a algumas convenções:
Nome da Propriedade Descrição
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-*
  • avaliado somente se paragraphScope estiver definido como range
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
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 )
Isso pode mudar em mais de 6,5 marcos.

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"