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

Há vários serviços avançados relacionado à 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 a variável 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 precisam usar os serviços avançados.

É recomendável usar os Componentes principais.

ATENÇÃO
  • Se você não precisar da variável serviços avançados descrito abaixo, você pode ignorar 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 de Fragmentos de conteúdo, sem serviços avançados. No entanto, nesse caso, será necessário desenvolver o componente para que ele manipule o processamento apropriado.

Portanto, é recomendável usar os Componentes principais.

Definição dos 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 (ou seja, verifique se os fragmentos e modelos podem 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.
  • Gestão/gestão conteúdo intermediário.
  • Gestão/gestão ativos de mídia mista.
  • Liberação do Dispatcher para fragmentos referenciados (se uma página contendo 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 ser vinculada ao serviço OSGi Configuração do componente de fragmento de conteúdo:

com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl

OBSERVAÇÃO

Consulte Configuração do OSGi para obter mais detalhes.

Por exemplo:

Configuração do Componente de Fragmento de Conteúdo de Configuração do OSGi

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 o(s) nome(s) dos elementos a serem renderizados; por exemploelementName
Propriedade de variação
dam.cfm.component.variationProp O nome da propriedade que contém o nome da variação a ser renderizada; por exemplovariationName

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 (ou seja, jcr:paragraph para cada instância de componente), para que os serviços possam detectá-los e processá-los corretamente.

Nome da Propriedade Descrição
paragraphScope

Uma propriedade de string que define como os parágrafos devem ser gerados se em modo de renderização de elemento único.

Valores:

  • all : para renderizar todos os parágrafos
  • range : para renderizar o intervalo de parágrafos fornecido pelo paragraphRange
paragraphRange

Uma propriedade de string que define o intervalo de parágrafos a serem gerados se modo de renderização de elemento único.

Formato:

  • 1 ou 1-3 ou 1-3;6;7-8 ou *-3;5-*
    • - indicador de intervalo
    • ; separador de lista
    • * curinga
  • só será avaliado se paragraphScope está definida como range
paragraphHeadings Uma propriedade booleana que define se cabeçalhos (por exemplo, h1, h2, h3) são contadas como parágrafos (true) ou não (false)

Exemplo

Como exemplo, consulte o seguinte (em uma instância AEM predefinida):

/apps/core/wcm/config/com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl-core-comp-v1.config

Isso 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"

Nesta página