2013-10-31 71 views
2

我能夠修改原始popup.pt和看到我的情況的變化,但是當我試圖通過複製和我的主題重命名爲archetypes.referencebrowserwidget.browser.popup.pt /(插件)覆蓋文件夾來覆蓋它,我不能看看我的變化。如何覆蓋Plone中的popup.pt?

我覆蓋了path_bar類viewlet,跟在tutorial之後。我試圖按照相同的邏輯覆蓋popup.pt,但我無法讓Plone在我的configure.zcml中看到該文件。

的configure.zcml

<configure 
    xmlns="http://namespaces.zope.org/zope" 
    xmlns:i18n="http://namespaces.zope.org/i18n" 
    xmlns:genericsetup="http://namespaces.zope.org/genericsetup" 
    xmlns:browser="http://namespaces.zope.org/browser" 
    xmlns:plone="http://namespaces.plone.org/plone" 
    i18n_domain="mytheme.theme"> 

    <includeDependencies package="." /> 

    <plone:static 
    directory="resources" 
    type="theme" 
    /> 

    <genericsetup:registerProfile 
      name="default" 
      title="mytheme.theme" 
      directory="profiles/default" 
      description="Installs the mytheme.theme package" 
      provides="Products.GenericSetup.interfaces.EXTENSION" 
    /> 

    <browser:viewlet 
     name="plone.path_bar" 
     manager="plone.app.layout.viewlets.interfaces.IAboveContent" 
     class=".customizations.PathBarViewlet" 
     permission="zope2.View" 
     layer=".interfaces.IMyTheme" 
    />  

    <browser:page 
     name="login_main_template" 
     for="*" 
     permission="zope.Public" 
    template="login_main_template.pt" 
    /> 
</configure> 

在尋找解決的辦法,我發現這個問題#1 - How to customize the popup.pt template from archetypes.referencebrowserwidget?。我添加/:

<include package="z3c.jbot" file="meta.zcml" /> 
<browser:jbot directory="jbot_templates" layer=".browser.interfaces.IThemeSpecific" /> 

configure.zcml和我以前嘗試刪除browser:viewlet但我仍然無法得到的Plone看到我的概述。

我需要使用哪種方法來覆蓋,類viewlet,z3c.jbot或者只是標準的複製/重命名方法?我已經多次閱讀了Plone文檔,但仍無法解決我的問題。如果我需要發佈任何其他文件,請讓我知道。

在此先感謝。

回答

2

z3c.jbot方法通常工作正常。 您必須確保您放入jbot_templates文件夾的文件名稱正確。 到popup.pt的路徑是archetypes/referencebrowserwidget/browser/popup.pt, 所以你的情況的文件名必須是archetypes.referencebrowserwidget.browser.popup.pt

請確保您的browserlayer .interfaces.IMyTheme是您網站上的活躍 - >browserlayer.xml