Хорошие способы получить ресурсы из родительских папок в Plone? - PullRequest
1 голос
/ 16 ноября 2010

У меня есть сайт Plone (4.0.1), который требует изменений в макете в зависимости от папки. Представьте себе структуру вроде:

University > Faculty A > Institute A1 > Person A11
                                      > Person A12
                       > Institute A2 > Person A21
...

Теперь, если я помещу все необходимые ресурсы (пользовательский файл CSS, изображения и т. Д.) В ZODB, страницы для человека A11 автоматически получат файл fac-image.gif, расположенный в папке Faculty A.

Однако, чтобы избежать путаницы, я не хочу показывать fac-image.gif пользователям. (Это все часть фреймворка, к которому они все равно не должны прикасаться.)

Если я зарегистрирую ресурс, я смогу получить доступ к материалу с помощью ресурса + ++ ++ theme.images / path, но не получаю никаких сведений от родителей, поэтому ресурс ++ language ++ theme.images / facultyA / instituteA1 / fac- image.gif не найдет изображение. Хуже того, у меня есть отдельная структура каталогов, которую я сейчас поддерживаю.

То, что я сейчас делаю, - это ручное переключение процесса обхода «наилучших усилий» через представление каталога файловой системы, которое попытается перейти по пути, просто оставайтесь на месте, если подкаталог не существует (т.е. Дерево ресурсов не имеет подкаталога для человека A11, вместо того, чтобы кричать 404, я остаюсь в институте A1), а затем пытаюсь получить резервную копию. Некоторый трюк связан с portal_factory и views, и я почти уверен, что пропустил больше.

Итак: это определенно не тот способ, которым нужно это делать, но что это такое?

Ответы [ 3 ]

2 голосов
/ 16 ноября 2010

Использовать CSS.

Просто пометьте свой тег классами на основе текущего раздела / факультета / аспекта по вашему выбору и измените ваши изображения на основе этих классов. Держите визуальный дизайн отдельно от вашего контента!

1 голос
/ 29 ноября 2010

Вы можете черпать вдохновение в коллективе Colour.phantasy, который реализует этот вариант использования для plone3 (измените l & f для контейнера папки).

0 голосов
/ 29 ноября 2010

Вроде бы так. В итоге я зарегистрировал вспомогательное представление, которое проверяет и разбивает путь контекста и указывает его где-то еще в представление каталога файловой системы.

...