plone での atreal.richfile.preview の Wrt カスタマイズ。ファイル プレビュー用に、viewlet.pt というテンプレートがあり、アクション メニューをアクティブ化/更新、更新、および折りたたむためのコントロールを表示する TAL ステートメントが含まれています。完全なコード スニペット:
<dl class="richfile portlet"
tal:condition="view/available"
tal:attributes="id view/plugin_id"
i18n:domain="atreal.richfile.preview">
<dt tal:attributes="id string:${view/plugin_id}Header" class="rfheader portletHeader">
<span class="portletTopLeft"></span>
<!--tal:block tal:replace="structure view/controls" -->
<span class="title" style="font-weight:bold"
i18n:translate="">
Preview
</span>
<span class="portletTopRight"> <span>
</dt>
<dd tal:content="structure view/getPreview" >
<!--Your specific code here-->
<IFRAME src="http://somesite.com"
tal:attributes="src string:${here/absolute_url}/rfpreview"
ondragstart="false" onselectstart="false"
width="100%" height="400" scrolling="auto" frameborder="0"> </IFRAME>
<!--End of specific code-->
</dd>
</dl>
を削除すると<tal:block tal:replace="structure view/controls" >
、doc、xls、odt ファイル形式が正しく表示されます。しかし、pdfファイルの場合、すべてのコンテンツがごちゃごちゃになっています。上記のステートメントをそのままにしておくと、アクションコントロールのアクティブ化/更新または更新をクリックすると別のウィンドウが開き、正しく表示されますが、doc xls およびその他のファイルがダウンロードされます (ハイパーリンクのために予期されていません)。
また、デフォルトの<dd>
属性を 変更<dd tal:content="structure view/getPreview">
すると、背景画像なしで PDF ファイルを表示できるようになります。
ステートメントをそのままにしておくと、ズーム、印刷、名前を付けて保存するためのアイコンがある新しいウィンドウが開きます。このウィンドウでこれらを無効にします。
また、この新しいウィンドウからの copy_paste を防止したい (ビューレットで JavaScript を使用してコピー ペーストを無効にすることができます) が、新しいウィンドウでは発生しません。この新しいウィンドウのテンプレートを検出できません。
主な目的は、plone サイトからのあらゆる種類のファイルのコピー/貼り付け/ダウンロードを防止することですが、ファイルのプレビューを許可する必要があります。
ZMI の正確な場所とそれをカスタマイズする方法について、誰かが正しく案内できますか? プレーン 4.1