Benutzerspezifische Werkzeuge
Sie sind hier: Startseite / Zope / Plone / Produkterstellung / Viewlets / Viewlet von einem Viewlet-Manager in einen anderen verschieben

Viewlet von einem Viewlet-Manager in einen anderen verschieben

In diesem Beispiel verschieben wir das Viewlet "plone.site_actions" vom Viewlet-Manager "plone.portalheader" nach "plone.portaltop".

Als erstes Registrieren wir die Siteactions im "plone.portaltop":

browser/configure.zcml

<!-- Moved viewlet registration -->
<browser:viewlet
name="plone.site_actions"
manager="plone.app.layout.viewlets.interfaces.IPortalTop"
class="plone.app.layout.viewlets.common.SiteActionsViewlet"
permission="zope2.View"
layer=".interfaces.IThemeSpecific"
/>

Jetzt noch die Position des verschobenen Viewlets innerhalb von "plone.portaltop" festlegen und das alte im "plone.portalheader" ausblenden.

profiles/default/viewlets.xml:

<?xml version="1.0"?>
<object>
<order manager="plone.portaltop" skinname="My Theme"
based-on="Plone Default">
<viewlet name="plone.site_actions" insert-after="*" />
</order>
<!-- We hide the one we want to move -->
<hidden manager="plone.portalheader" skinname="My Theme">
<viewlet name="plone.site_actions" />
</hidden>
</object>

Alternativ kann man nach dem registrieren in der browse/configure.zcml auch den Viewlet-Manager benutzen.

Verweise
Viewlets-Managen