2012-09-03 53 views
0

在Plone atreal.richfile.preview的WRT定制atreal.richfile.preview的,文件预览,有一个名为viewlet.pt模板,它包含显示控制激活/更新一个TAL语句,刷新并折叠操作菜单:。完整的代码片段:定制在Plone

<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文件。

如果语句保持原样,打开一个新的窗口那里有图标的放大,缩小,打印,保存为。我希望在这个窗口中禁用这些。 (我禁用复制粘贴我可以用JavaScript在viewlet中做),但它不会发生在新窗口中。我无法检测到这个新的模板窗口。

主要目的是防止任何形式的任何文件复制/粘贴/下载从Plone站点,但应该允许文件预览。

任何人都可以正确指导ZMI中的确切位置以及如何定制它? Plone的4.1

回答