我的主页有自定义页面模板。
它不显示轮播。
模板如下:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
lang="en"
metal:use-macro="context/main_template/macros/master"
i18n:domain="plone">
<body>
<metal:content-core fill-slot="content-core">
Hello
</metal:content-core>
</body>
</html>
configure.zcml片段如下所示:
<browser:page
for="Products.CMFPlone.browser.interfaces.INavigationRoot"
name="homepage"
template="homepage.pt"
layer=".interfaces.IThemeSpecific"
permission="zope2.View"
/>
我试过了:
<tal:block tal:replace="structure here/carousel/@@banner-base" />
但是为banner-base获取了AttributeError。
答案 0 :(得分:2)
如果默认页面设置为文件夹或siteroot,则无法找到正确的上下文,默认情况下为“front-page”。
要解决此问题,请将其视图更改为您的视图或任何其他视图,而不是内容项,例如“摘要视图”f.e。
答案 1 :(得分:0)
视图必须满足由Carousel viewlet的update()方法强制执行的is_view_template标准。
要做到这一点,只需使用文件夹的setLayout()。