如何在自定义页面模板上使用Products.Carousel显示轮播?

时间:2014-02-09 09:38:42

标签: plone

我的主页有自定义页面模板。

它不显示轮播。

模板如下:

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

2 个答案:

答案 0 :(得分:2)

如果默认页面设置为文件夹或siteroot,则无法找到正确的上下文,默认情况下为“front-page”。

要解决此问题,请将其视图更改为您的视图或任何其他视图,而不是内容项,例如“摘要视图”f.e。

答案 1 :(得分:0)

视图必须满足由Carousel viewlet的update()方法强制执行的is_view_template标准。

要做到这一点,只需使用文件夹的setLayout()。