Custom Deployer で公開されたページのコンテンツにアクセスする必要があるとしましょう。コードのこの部分は、PageDeploy クラスを拡張する CustomModule にある processPage メソッド内にあります。
このようにして、公開されているページを取得しますが、そのページのコンテンツは変換されません (そのページにあるコンポーネントはレンダリングされません)。
public void processPage(Page page, File pageFile) throws ProcessingException {
File file = new File(pageFile.toString());
}
cd_deployer.conf.xml で TransportPackages のクリーンアップを無効にできることがわかっている場合は、Cleanup を false に変更します。Tridion が<WorkFolder Location="C:\tridion\work" Cleanup="false"/>,
ページの 2 つのバージョンを生成することがわかります。
- root\page.html (パスが pageFile.ToString() のレンダリングされていないコンテンツを含む)
- root\transformed\page.html (完全なコンテンツ - 必要なコンテンツ)
変換されたページ ファイル パスを使用して新しいファイルを作成し、それを読み取ると、元の html よりもコンテンツが少ない html コードを取得するのはなぜですか? これは、展開ページのこのフェーズではまだレンダリングされておらず、完全ではないためですか...?
ありがとう!