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:
É recomendável usar os Componentes principais.
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.
Os serviços que exigem o registro de um componente são:
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.
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
Consulte Configuração OSGi para obter mais detalhes.
Por exemplo:
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,
|
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:
|
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:
|
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 ) |
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"