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

Última atualização em 2023-12-05

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:

  • Você precisa implementar seu próprio componente baseado em Fragmento de conteúdo,
  • E precisam usar os serviços avançados.

O Adobe recomenda usar os Componentes principais.

ATENÇÃO
  • Se você não precisar de serviços avançados descrito abaixo, você pode ignorar essa configuração.

  • Ao estender ou usar componentes prontos para uso, não é recomendável alterar a configuração do OSGi.

  • É possível gravar um componente do zero que use 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 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 (ou seja, verifique se os fragmentos e modelos podem ser publicados automaticamente com uma página se foram alterados desde a última publicação).
  • Suporte para fragmentos de conteúdo na pesquisa de texto completo.
  • A gestão/gestão dos conteúdo intermediário.
  • A gestão/gestão dos ativos de mídia mista.
  • Limpeza do Dispatcher para fragmentos referenciados (se uma página contendo um fragmento for republicada).
  • Uso da renderização baseada em parágrafo.

Se você precisar de um ou mais desses recursos, (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 deve ser associada 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 OSGi para obter mais detalhes.

Por exemplo:

Configuração do componente Fragmento de conteúdo da configuração do OSGi

A configuração do OSGi é:

Etiqueta Configuração 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 dos elementos dam.cfm.component.elementsProp O nome da propriedade que contém o(s) nome(s) do(s) elemento(s) 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 a convenções predefinidas. A tabela a seguir detalha as propriedades que precisam ser definidas, pelo 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 sequência de caracteres que define como os parágrafos serão gerados se 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 sequência de caracteres que define o intervalo de parágrafos a ser gerado se 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
    • * curinga
  • avaliado somente se paragraphScope está definida 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 de AEM pronta para uso):

/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