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

Há vários serviços 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.

ATENÇÃO
  • Se você não precisar dos serviços 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 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 (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.
  • O gerenciamento/tratamento de conteúdo intermediário.
  • O gerenciamento de ativos de mídia mista.
  • 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 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 da 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 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 (ou seja, jcr:paragraph para cada instância do 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 exibidos 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 por paragraphRange
paragraphRange

Uma propriedade de string que define o intervalo de parágrafos a serem enviados se estiver em 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
    • * 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 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"

Nesta página