Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2014-08-14

portal_view_customizations

Одна из серъезных трудностей в освоении 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

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)