Domanda

Diciamo che dobbiamo accedere al contenuto della nostra pagina pubblicata in un deployer personalizzato. Questa parte del codice è all'interno del metodo di procedura che si trova nella nostra customModule che estende la classe PageDeyer.

In questo modo otterrò la pagina che viene pubblicata, ma il contenuto di tale pagina non verrà trasformato (i componenti in quella pagina non sono resi).

public void processPage(Page page, File pageFile) throws ProcessingException {
    File file = new File(pageFile.toString());
}
.

Se so che posso disabilitare la pulizia deiPackages in CD_DEPYLYER.CONF.XML, modificando la pulizia su false: <WorkFolder Location="C:\tridion\work" Cleanup="false"/>, Vedo che Tridion genera due versioni della mia pagina:

    .
  1. root \ page.html (che ha contenuto simbolico, con percorso pagefile.tostring ())
  2. root \ trasformato \ Page.html (che ha contenuto completo - Contenuto che voglio)

    Perché quindi quando creo un nuovo file con il percorso del file della pagina trasformato e leggilo, ottengo il codice HTML con anche meno contenuti, quindi l'HTML originale? È questo perché in questa fase della pagina di distribuzione non è ancora resa e completa o ...?

    Grazie!

È stato utile?

Soluzione

La tua pagina utilizza presentazioni dinamiche dei componenti? In tal caso, l'HTML a livello di pagina pubblicato e distribuito conterrà solo un "Includi istruzioni" per la presentazione dei componenti

<tcdl:ComponentPresentation ... />
.

L'unica cosa che accade durante l'implementazione è che la lingua "tecnologia agnostica" utilizzata durante la pubblicazione / trasporto viene tradotta in un tag JSP o un controllo del server ASP.NET include, in entrambi i casi in genere tradotti in qualcosa che inizia con tridion:ComponentPresentation .

Il frammento HTML della presentazione dinamica dei componenti stesso sarà pubblicato separatamente e memorizzato come elemento separato nella memoria configurata.

L'HTML completo sarà composto solo quando la pagina è richiesta (per servire a un visitatore). A tale fase la libreria di tag JSP o il controllo del server ASP.NET verrà invocato, leggi il frammento HTML per la presentazione del componente dalla memorizzazione e iniettarla nel "wireframe" HTML della pagina.

Con quella conoscenza, spiega infatti perché non è possibile trovare il frammento HTML per le presentazioni dinamiche dei componenti nell'estensione del display: la fusione dei frammenti DCP nella pagina Shell si verifica solo quando è richiesta la pagina, non quando è richiesto la pagina schierato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top