Можно ли сделать так, чтобы представление Plone появлялось только на одной странице или в папке?

По умолчанию видимости Plone распространяются на весь сайт. Как сделать так, чтобы представление отображалось только на определенной странице?

2 ответа

Решение

Это делается с помощью Theme Interface в Plone. Проверьте эту документацию:

http://plone.org/documentation/manual/theme-reference/buildingblocks/components/themespecific

Если вы создали свою тему / viewlet с шаблоном paster, все должно быть на месте и готово к использованию.

В дополнение к тематическим вейвлетам, упомянутым @user276028, вы можете создавать слои браузера для не-тематических вейвлетов:

Пример, взятый из коллективного.atimage.transformtoolbar:

  1. Создайте слой браузера (вы можете создать их с помощью локальной команды paster addcontent browserlayer):

    • Добавьте интерфейс для слоя.
    • Создайте файл browserlayer.xml GenericSetup, чтобы зарегистрировать его как слой.
  2. Используйте слой при регистрации в окне просмотра:

    • Отредактируйте свою регистрацию в Viewlet в файле configure.zcml, указав атрибут слоя, указывающий на ваш интерфейс.

В связанном файле configure.zcml вы также можете увидеть, как показать представление только для некоторых типов контента (for свойство) и просто для просмотра по умолчанию этого типа контента (view имущество).

В любом другом случае, я думаю, вы должны решить, когда показывать / скрывать свой код или шаблон вьюлета, как в доступном методе.

Другие вопросы по тегам