Найти - Пользователи
Полная версия: бывают ли в зоуп3 индексные классы или подобное?
Начало » Zope/Plone/Bluebream » бывают ли в зоуп3 индексные классы или подобное?
1
misha111
Здравствуйте.

Возможно кто либо сталкивался со следующей сдожностью, или сможет что нибудь подсказать:

есть большой проект в zope 3 (спасибо, больше не буду.), в котором используются несколько публикуемых объектов.

пользователи делают запросы к обектам вида, вида xxx/y1/page1.html, xxx/y2/page2.html, xxx/y3/page3.html,
где y1, y2, y3 - несколько публикуемых объектов.
Можно ли сделать так, чтоб ничего (или не много) не меняя в исходном коде объектов, сделать запросы вида

xxx/y/page1.html, xxx/y/page2.html, xxx/y/page3.html

то есть чтоб было что -то вроде аналога индексного файла с перенаправлением в xxx/y1/page1.html, xxx/y2/page2.html, xxx/y3/page3.html
где уже эти запросы будут обслуживаться разными публикуемыми объектами как и ранее.

Вот, надеюсь, понятно изложил свои мысли.
regall
Можно переписать траверсинг для контейнера xxx.
Почитать можете здесь: http://mg.pov.lt/blog/zope3-custom-traversal.html

P.S.
И не пишите “зоуп3”, как то некрасиво =).
misha111
спасибо regall, хорошя ссылка. Для полного комплекта ещё не помешала бы ссылка, на пояснение, как сделать
модификации url в отрендеренной странице.

вроде б это надо делать переопределением IBrowserRequestFactory, а именно Request и Response, и там уже модифицировать url в ссылках и action в формах, но я не уверен.
regall
misha111
как сделать
модификации url в отрендеренной странице.
Не совсем понял, что вы имеете в виду. Я так понимаю, вы хотите чтобы мультиадаптер @@absolute_url в TAL возвращал правильную ссылку на объект, для которого переопределен механизм траверсинга. Для этого просто нужно написать свой адаптер к zope.traversing.browser.interfaces.IAbsoluteURL
misha111
у меня на генерируемой странице ссылки вида /xxx/yyy_aa/zzzz
мне надо просто исправлять “_” на “/” чтоб было везде /xxx/yyy/aa/zzzz
механизи траверсинга я решил не менять, там по другому сделал.
осталось только менять ссылки в контенте страници и на формах, при определённых условиях.
Может есть где-нибудь ещё описание, как добраться до контента сгенерённой страници?
regall
misha111
механизи траверсинга я решил не менять, там по другому сделал.
А если не секрет, то как вы сделали?
misha111
не секрет.
там решили просто поставить прокси через апач с mod_rewrite
вот и появилась проблема, когда надо вправлять все url на сгенерённой странице в виде, который я указывал.
regall
misha111
там решили просто поставить прокси через апач с mod_rewrite
вот и появилась проблема, когда надо вправлять все url на сгенерённой странице в виде, который я указывал.
Так почему из-за прокси URL'ы поменялись? Может плохо настроили? Все должно работать одинаково, как при прокси так и с runzope. Прописывать URL'ы в шаблонах вручную - это очень плохой подход, используйте absoluteURL.

P.S.
Делаю перевод доки по BlueBream (а-ля Zope 3.5, просто название сменили), посмотрите раздел FAQ, много вопросов сразу для вас прояснится:
http://wiki.python.su/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8/Bluebream
misha111
нет нет, там совсем в другом дело, там старая проблема из-за разнобоя с классами и basic авторизацией
из-за этого и меняем, там просто классы так называются
xxx_yy
xxx_zz
и по постановке от этого нужно уйти, чтоб в url было
xxx/zz
misha111
пока задавал вопрос - сам всё решил
помогло чтение тут
http://svn.zope.org/hurry.zoperesource/trunk/src/hurry/zoperesource/zopesupport.py?rev=91843&view=markup

и разбор текста zc.resourcelibrary-1.3.1

что по суте похоже, но, почему-то, разбирая тексты отдельно результата не было :-)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB