У меня есть сайт 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, и я почти уверен, что пропустил больше.
Итак: это определенно не тот способ, которым нужно это делать, но что это такое?