2012-02-18 13 views
5

PDFスキーマに関連付けられたダイナミックコンポーネントテンプレートを使用してPDFパブリッシングを処理してから、PDFにリンクする必要のあるバイナリリンクを作成しています。ページ上のコンポーネントで使用されているpdfの公開を解除すると、そのページが未公開になっていますか?

ページ上で使用されているコンポーネント内のコンポーネントリンクであるPDFの公開を解除すると、そのページが公開されなくなります。

カスタムリゾルバを使用してこの動作を制御できることはわかっていますが、これは期待した結果ですか?

この動作がTridion 2009からTridion 2011に変更されましたか?

答えて

6

バイナリリンクは「インラインバイナリコンテンツ」のために使用されるため、通常はsrc属性に含まれています。

<img src="..." /> 
<video width="320" height="240" controls="controls"> 
    <source src="movie.mp4" type="video/mp4" /> 
    <source src="movie.ogg" type="video/ogg" /> 
    Your browser does not support the video tag. 
</video> 

このインラインバイナリコンテンツの場合、ページは正しく表示されません。それを知って、あなたがMMCを公開しないときにページが未公開になるのは正しいです。だから私はこれが確かに期待されている行動だと言うことができますが、これは長い間変化していません。

ハイパーリンクとして表示するPDFにMMCを使用している間違いがあります。リンクしたいものがあれば(つまり、< a href = "..."に変わります)、ComponentLinkを使うべきです(もちろん、そのページリンクはPageです)。

+1

私たちが見つけたのは、PDFは実際にはどこのページにもなく、動的テンプレートを使用してサーバーに公開されているため、コンポーネントリンクが解決しないことです。ただし、バイナリリンクはPDFを指すアンカータグを返します。 –

+0

バイナリの公開方法のコード/ DWTを表示できますか? –

+0

次のように、Add Binaryメソッドを使用します。 engine.AddBinary(binary.Id、template.Id、null、binary.BinaryContent.GetByteArray()、CreateUniqueBinaryName(binary)); –

4

バイナリコンポーネントで使用されているアイテムの未発行は、2009年に既に存在していました(これはTridion 2009 Business Analyst試験の質問の1つでもあります)。

動的コンポーネントプレゼンテーションをバイナリで使用する人々の傾向が見られますが、これはこの副作用を回避しますが、ページに悪いバイナリリンクが残る可能性があります。

バイナリ用のDCPルートを使用する場合は、ダイナミックリンクを使用するようにしてください(アンカーマークアップに「tridion:type = binary」を使用してCMで簡単に作成できます)。

+1

tridion:type = "Binary"は動作するリンクを作成しますが、バイナリが存在するときにページが非公開になるという副作用があります。ドキュメントには、「コンポーネントの公開を解除すると、そのコンポーネントにリンクしているコンポーネントはすべて公開されません」と記載されています。私はこの動作がBinaryのものとは異なると思いますので、ここでカスタムリゾルバが必要ですか? –

+0

問題は、AddBinaryを呼び出していて別のコンポーネントプレゼンテーションを公開していないことです。カスタムリゾルバは実際には最高の音を出し、カスタムのPublishInstructionを作成するよりも簡単です。 –

+0

tridion:type = binaryを使用している場合は、実際にはAddBinaryやその他のバリエーションを使用する代わりに、他の手段(通常はDCP)でバイナリを公開することが期待されます。 DWT内からカスタムリゾルバまたはRenderCPを呼び出すと、それが処理されます。 –

関連する問題