Одна из серъезных
трудностей в освоении Plone связана с тем,
что неподготовленный человек не может
найти — где же, трах-тибидох, тот файл
шаблона, из которого вылезает на страницу
тот или иной элемент.
Эта трудность
есть вторая сторона монеты, а именно —
компонентной архитектуры Plone.
Давайте поглядим
на примере категорий (ака keywords, tags,
categories), присваиваемых страницам, как
можно поменять их вывод на страницу.
Допустим, у
нас есть страница с тегами. Тогда при
рендеринге этой страницы, внизу, вы
увидите нечто вроде
Filed under: category
Как быть, если надо убрать текст «Filed
under» и оставить только теги?
Первым делом
попробуем посмотреть на раскладку
страницы по въювлетам (viewlets), для чего
к URL допишем /@@manage-viewlets, например так:
http://localhost:8080/cms/news/prognoz/@@manage-viewlets
Картина интересная.
Самое главное,
видно, что тег находится внутри рамочки
с заголовком
Viewlet: plone.belowcontenttitle.keywords
которая, в свою очередь, внутри
ViewletManager: plone.belowcontent (plone.app.layout.viewlets.interfaces.IBelowContent)
Это дает нам очень важную информацию —
названия интерфейсов и компонент.
Теперь заглянем
в реестр
и найдем там
известные нам компоненты
plone.belowcontenttitle.keywords (zope.publisher.interfaces.browser.IDefaultBrowserLayer)
Теперь, когда самое главное сделано (мы
фактически нашли тот шаблон, что выводит
список категорий/тегов на страницу),
можно отредактировать найденный шаблон.
Щелкаем по
записи в реестре, нажимаем «customize» и
вносим нужные поправки. В частности,
убираем текст «Filed under» заменив
<tal:filedunder i18n:translate="label_filed_under">Filed under:</tal:filedunder>
на
<!-- tal:filedunder i18n:translate="label_filed_under">Filed under:</tal:filedunder -->
Сохраняем шаблон, проверяем вид страницы
(может понадобится жесткий reload — Ctrl-R,
Ctrl-F5). Надпись исчезла, что и требовалось.
В общих чертах
как-то так и выглядит кастомизация
страниц Plone, та, которую нельзя (или
трудно) сделать через Diazo
theming.
Осталось только
упомянуть, что правильный способ сделать
такую кастомизацию заключается в
создании addon-а, содержащего вашу версию
файлов шаблонов. Как это сделать, написано
здесь:
И, гораздо
более подробно (thanks to Martin Aspeli), тут:
original post http://vasnake.blogspot.com/2014/08/portalviewcustomizations.html
Комментариев нет:
Отправить комментарий