Definição

O Fragmento de conteúdo é usado para manter uma referência a um ativo de fragmento de conteúdo (ativos de texto efetivamente aprimorados). O tipo de recurso do fragmento de conteúdo é:

  • dam/cfm/components/contentfragment/contentfragment

A referência é definida na propriedade :

  • fileReference

Somente o editor da interface habilitada para toque oferece suporte total aos componentes do fragmento de conteúdo, que inclui a biblioteca do cliente:

  • cq.authoring.editor.plugin.cfm

Essa biblioteca adiciona recursos, específicos aos fragmentos de conteúdo, ao editor. Por exemplo, há suporte para a capacidade de adicionar e configurar fragmentos de conteúdo na página, a capacidade de pesquisar por ativos do fragmento de conteúdo no navegador de ativos e por conteúdo associado no painel lateral do .

Conteúdo intermediário

O Fragmento de conteúdo Esse componente permite que você solte componentes adicionais entre os diferentes parágrafos da tela exibida elemento. Basicamente, o elemento exibido é composto de parágrafos diferentes (cada parágrafo é marcado por um retorno de carro). Entre cada um desses parágrafos, é possível inserir conteúdo usando outros componentes.

De um ponto de vista técnico, cada parágrafo do elemento exibido fica em seu próprio parsys, e cada componente adicionado entre os parágrafos será (sob o capô) inserido nos parsys.

Em outras palavras, se a instância do componente de fragmento de conteúdo for composta de três parágrafos, o componente terá três parsys diferentes no repositório. Todo o conteúdo intermediário adicionado ao fragmento de conteúdo estará realmente localizado dentro desses parsys.

No repositório, o conteúdo intermediário é armazenado em relação à sua posição dentro da estrutura geral do parágrafo, ou seja, não é anexado ao conteúdo real do parágrafo.

Para ilustrar isto, consideremos que temos:

  • Uma instância de um fragmento de conteúdo composto de três parágrafos

  • E que já foi inserido algum conteúdo após o segundo parágrafo

    • Isso significa que o conteúdo será armazenado no segundo parsys.

Basicamente, se a estrutura de parágrafo dessa instância for alterada (alterando a variação, o elemento ou o intervalo de parágrafos exibidos), isso poderá afetar o conteúdo intermediário exibido quando o conteúdo do fragmento de conteúdo:

  • É editado e outro parágrafo é adicionado antes do segundo parágrafo:

    • O conteúdo intermediário será exibido após o parágrafo recém-criado (o segundo parsys agora retém o parágrafo recém-criado).
  • É editado e o segundo parágrafo é removido:

    • O conteúdo intermediário será exibido após o parágrafo que era anteriormente o terceiro (o segundo parsys agora contém o terceiro parágrafo anterior).
  • É configurado de forma que somente o primeiro parágrafo seja exibido:

    • O conteúdo intermediário não será exibido (o segundo parsys não é mais renderizado devido à nova configuração).

Personalização do componente do fragmento de conteúdo

Para usar o componente de fragmento de conteúdo pronto para uso como um blueprint para extensão, você deve respeitar o seguinte contrato:

  • Reutilize o script de renderização HTL e seu POJO associado para ver como o recurso de conteúdo intermediário é implementado.

  • Reutilize o nó do fragmento de conteúdo: cq:editConfig

    • O afterinsert/ afteredit/ afterdelete os ouvintes são usados para acionar eventos JS. Esses eventos serão tratados na seção cq.authoring.editor.plugin.cfm biblioteca do cliente para exibir o conteúdo associado no painel lateral.
    • O cq:dropTargets são configuradas para suportar arrastar ativos de fragmento de conteúdo.
    • cq:inplaceEditing O é configurado para suportar a criação de um fragmento de conteúdo no editor de páginas. O editor de fragmento no local é definido na variável cq.authoring.editor.plugin.cfm biblioteca cliente e permite que um link rápido abra o elemento/variação no editor de fragmento.

Regravação de ativos antes da renderização

O Gerenciamento de fragmentos de conteúdo usa um processo de renderização interno para gerar a saída HTML final de uma página. Isso é usado internamente pelo componente Fragmento do conteúdo , mas também pelo processo em segundo plano que atualiza os fragmentos referenciados nas páginas de referência.

Internamente, o Sling Rewriter é usado para essa renderização. A configuração respectiva é encontrada em /libs/dam/config/rewriter/cfm e podem ser ajustadas, se necessário. Consulte a Apache Sling Rewriter para obter mais informações.

A configuração pronta para uso usa os seguintes transformadores:

  • transformer-cfm-payloadfilter - para recuperar a body parte ( <body>...</body>) somente do HTML do fragmento

  • transformer-cfm-parfilter - filtra parágrafos indesejados se um intervalo de parágrafo for especificado (como pode ser feito com o componente Fragmento de conteúdo)

  • transformer-cfm-assetprocessor - é usado internamente para recuperar uma lista dos ativos incorporados ao fragmento

O processo de renderização é exposto por meio de [com.adobe.cq.dam.cfm.content.FragmentRenderService](https://helpx.adobe.com/experience-manager/6-4/sites/developing/using/reference-materials/javadoc/com/adobe/cq/dam/cfm/ContentFragment.html) e podem ser aproveitadas (por exemplo) por componentes personalizados, se necessário.

Experience Manager