Wrt plone 中 atreal.richfile.preview 的自定义,对于文件预览,有一个名为 viewlet.pt 的模板,它包含一个 TAL 语句,显示控件以激活/更新、刷新和折叠 Actions 菜单:。完整的代码片段:
<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 文件。
如果语句保持原样,则会打开一个新窗口,其中有用于缩放、打印和另存为的图标。我希望在此窗口中禁用这些。
我还希望阻止从这个新窗口中复制粘贴。(我可以在 viewlet 中使用 javascript 禁用复制粘贴)但它不会在新窗口中发生。我无法检测到这个新窗口的模板。
主要目的是防止从 plone 站点复制/粘贴/下载任何文件,但应允许文件预览。
任何人都可以正确指导 ZMI 中的确切位置以及如何自定义它吗?克隆 4.1