How do I display a carousel using Products.Carousel on my custom page template?

StackOverflow https://stackoverflow.com/questions/21657487

  •  09-10-2022
  •  | 
  •  

Question

I have a custom page template for my home page.

It does not display the carousel.

The template is as follows:

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

The configure.zcml snippet looks like this:

<browser:page
  for="Products.CMFPlone.browser.interfaces.INavigationRoot"
  name="homepage"
  template="homepage.pt"
  layer=".interfaces.IThemeSpecific"
  permission="zope2.View"
/>

I tried:

<tal:block tal:replace="structure here/carousel/@@banner-base" />

but get an AttributeError for banner-base.

Was it helpful?

Solution 2

The view has to be satisfy the is_view_template criterion as enforced by the update() method of the Carousel viewlet.

To do this simply use the setLayout() of the folder.

OTHER TIPS

The correct context cannot be found, if a default-page is set to the folder or siteroot, like "front-page" is by default.

To resolve that, change its view to yours or any other view, which isn't a content-item, like 'Summary view' f.e.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top