我能够修改原始 popup.pt 并查看我的实例中的更改,但是当我尝试通过复制并重命名为我的主题中的archetypes.referencebrowserwidget.browser.popup.pt
来覆盖它时(添加-in)覆盖文件夹我无法看到我的更改。
我在此tutorial之后覆盖了path_bar类视图。我试图按照相同的逻辑来覆盖 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>
在搜索解决方案时,我发现了这个Stackoverflow问题 - 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看到我的概述。
我需要使用哪种方法来覆盖,类视图,z3c.jbot或只是标准的复制/重命名方法?我已多次通过Plone文档阅读,但仍无法解决我的问题。如果我需要发布任何其他文件,请告诉我。
提前致谢。
答案 0 :(得分:2)
z3c.jbot方法通常运行正常。
您必须确保放入jbot_templates
文件夹的文件具有正确的名称。
popup.pt的路径是archetypes/referencebrowserwidget/browser/popup.pt
,
因此,在您的情况下,文件名必须是archetypes.referencebrowserwidget.browser.popup.pt
请确保您的浏览器.interfaces.IMyTheme
在您的网站上有效 - &gt; browserlayer.xml