English.
Так сложилось, что сегодня я осознал, что такое есть вьювлеты плона. На весомой и грубой практике.
А было это так.
Заказчику надо многоязычный сайт. Первая моя попытка сделать это в стиле "поставьте в плон продукт и радуйтесь" не удалась. Потому я подготовил (как альтернативу) простое решение, сколько языков, столько и сайтов. На каждом сайте материалы только на нативном (для этого сайта) языке. Благо, сам интерфейс плона интернационализирован по самое небалуйся, в настройках нужный язык выбрал, и гуляй. Редакторы контент будут забивать, я тут не при чем, разве только тестовые странички для показухи сделать пришлось.
А потом я споткнулся о задачу создания кросс-ссылок между языковыми версиями. Хорошо бы, подумал я, каждая страница была со ссылками на другие языковые версии этой страницы. Одна из проблем в том, что не каждая страница имеет переводы на другие языки. Да и разделы, в общем случае, могут не отражаться один на другой. Ручная работа?
Пока решил сделать просто и изячно - через site_actions сделать ссылки на корни сайтов, с флажками стран для разных языков.
В параметрах экшена есть некий Icon, видимо картинка. Забил я пару экшенов, подготовил картинки. Проверяю - нет картинок в результате, только текст. Тегом <img ... даже и не пахнет. Что за засада? Почему атрибут Icon в экшене есть а картинки на сайте нет? Захотел я посмотреть код, который рендерит мои экшены.
И тут на арену выходят вьювлеты. Сайт-экшены рендерятся вьювлетом. Он расположен в файле
Plone\buildout-cache\eggs\plone.app.layout-1.1.8-py2.4.egg\plone\app\layout\viewlets\site_actions.pt
а если в ZMI смотреть, то в узле
Plone/portal_view_customizations
в строке
plone.site_actions (zope.publisher.interfaces.browser.IDefaultBrowserLayer)
Открывши его и щелканув на кастомайзе, можно мальца переделать вьювлет.
И я его переделал. Теперь он иконки кажет за милую душу. Если в экшене иконка не указана (как обычно) то работает как раньше, выводит текст.
Сцылки дня:
Tools
Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.
2009-10-03
Plone viewlets, практика
Posted by Valentin at 00:18
Labels: Zope(Plone)
Подписаться на:
Комментарии к сообщению (Atom)
Архив блога
-
▼
2009
(365)
-
▼
октября
(28)
- Потому что в кузнице не было гвоздя
- Запрет на дневной показ повысил популярность шоу
- Разные MTU и блокирование ICMP
- two weeks notice
- The following packages have been kept back
- Сразу видно, кто из ху
- 38 попугаев
- Поколение М
- LISP
- Разомни
- Adobe AIR 2.0
- Дорожное
- Wheel
- Телефон
- эмтиэс, паразитен
- Advanced Message Queueing Protocol
- buildout, not buildout
- Мосдума
- Быдлокодер?
- Прослойка
- Почему я не люблю верстку
- zcml
- Plone upgrade
- Вид поиска или подписка на новости по теме?
- jEdit
- Это мы, мышицы
- Plone viewlets, практика
- Как бы транзакции
-
▼
октября
(28)
Ярлыки
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)
Klaipeda
(15)
Manager
(15)
web-browser
(15)
Никонов
(15)
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)
Baltic
(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)
seaside
(1)
serialization
(1)
shore
(1)
spatial
(1)
tie
(1)
vim
(1)
Науру
(1)
крысы
(1)
налоги
(1)
пианино
(1)
Комментариев нет:
Отправить комментарий