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:
É recomendável usar os Componentes principais.
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.
Os serviços que exigem o registro de um componente são:
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.
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 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,
|
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 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 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:
|
paragraphRange |
Uma propriedade de string que define o intervalo de parágrafos a serem gerados se modo de renderização de elemento único. Formato:
|
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 ) |
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"