Можно ли сделать так, чтобы представление Plone появлялось только на одной странице или в папке?
По умолчанию видимости Plone распространяются на весь сайт. Как сделать так, чтобы представление отображалось только на определенной странице?
2 ответа
Это делается с помощью Theme Interface в Plone. Проверьте эту документацию:
http://plone.org/documentation/manual/theme-reference/buildingblocks/components/themespecific
Если вы создали свою тему / viewlet с шаблоном paster, все должно быть на месте и готово к использованию.
В дополнение к тематическим вейвлетам, упомянутым @user276028, вы можете создавать слои браузера для не-тематических вейвлетов:
Пример, взятый из коллективного.atimage.transformtoolbar:
Создайте слой браузера (вы можете создать их с помощью локальной команды paster
addcontent browserlayer
):- Добавьте интерфейс для слоя.
- Создайте файл browserlayer.xml GenericSetup, чтобы зарегистрировать его как слой.
Используйте слой при регистрации в окне просмотра:
- Отредактируйте свою регистрацию в Viewlet в файле configure.zcml, указав атрибут слоя, указывающий на ваш интерфейс.
В связанном файле configure.zcml вы также можете увидеть, как показать представление только для некоторых типов контента (for
свойство) и просто для просмотра по умолчанию этого типа контента (view
имущество).
В любом другом случае, я думаю, вы должны решить, когда показывать / скрывать свой код или шаблон вьюлета, как в доступном методе.