Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 25, 2010 10:32:05

misha111
От:
Зарегистрирован: 2009-11-12
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

Здравствуйте.

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

есть большой проект в 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
где уже эти запросы будут обслуживаться разными публикуемыми объектами как и ранее.

Вот, надеюсь, понятно изложил свои мысли.



Отредактировано (Июнь 25, 2010 11:49:51)

Офлайн

#2 Июнь 25, 2010 11:05:32

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

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

P.S.
И не пишите “зоуп3”, как то некрасиво =).



Офлайн

#3 Июль 2, 2010 16:18:14

misha111
От:
Зарегистрирован: 2009-11-12
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

спасибо regall, хорошя ссылка. Для полного комплекта ещё не помешала бы ссылка, на пояснение, как сделать
модификации url в отрендеренной странице.

вроде б это надо делать переопределением IBrowserRequestFactory, а именно Request и Response, и там уже модифицировать url в ссылках и action в формах, но я не уверен.



Отредактировано (Июль 2, 2010 16:28:12)

Офлайн

#4 Июль 2, 2010 18:50:07

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

misha111
как сделать
модификации url в отрендеренной странице.
Не совсем понял, что вы имеете в виду. Я так понимаю, вы хотите чтобы мультиадаптер @@absolute_url в TAL возвращал правильную ссылку на объект, для которого переопределен механизм траверсинга. Для этого просто нужно написать свой адаптер к zope.traversing.browser.interfaces.IAbsoluteURL



Офлайн

#5 Июль 5, 2010 14:04:16

misha111
От:
Зарегистрирован: 2009-11-12
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

у меня на генерируемой странице ссылки вида /xxx/yyy_aa/zzzz
мне надо просто исправлять “_” на “/” чтоб было везде /xxx/yyy/aa/zzzz
механизи траверсинга я решил не менять, там по другому сделал.
осталось только менять ссылки в контенте страници и на формах, при определённых условиях.
Может есть где-нибудь ещё описание, как добраться до контента сгенерённой страници?



Отредактировано (Июль 5, 2010 14:20:14)

Офлайн

#6 Июль 5, 2010 16:14:58

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

misha111
механизи траверсинга я решил не менять, там по другому сделал.
А если не секрет, то как вы сделали?



Офлайн

#7 Июль 5, 2010 16:42:56

misha111
От:
Зарегистрирован: 2009-11-12
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

не секрет.
там решили просто поставить прокси через апач с mod_rewrite
вот и появилась проблема, когда надо вправлять все url на сгенерённой странице в виде, который я указывал.



Отредактировано (Июль 5, 2010 16:44:38)

Офлайн

#8 Июль 5, 2010 17:19:24

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

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



Офлайн

#9 Июль 5, 2010 17:33:24

misha111
От:
Зарегистрирован: 2009-11-12
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

нет нет, там совсем в другом дело, там старая проблема из-за разнобоя с классами и basic авторизацией
из-за этого и меняем, там просто классы так называются
xxx_yy
xxx_zz
и по постановке от этого нужно уйти, чтоб в url было
xxx/zz



Отредактировано (Июль 5, 2010 17:38:57)

Офлайн

#10 Июль 5, 2010 18:16:33

misha111
От:
Зарегистрирован: 2009-11-12
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

бывают ли в зоуп3 индексные классы или подобное?

пока задавал вопрос - сам всё решил
помогло чтение тут
http://svn.zope.org/hurry.zoperesource/trunk/src/hurry/zoperesource/zopesupport.py?rev=91843&view=markup

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

что по суте похоже, но, почему-то, разбирая тексты отдельно результата не было :-)



Отредактировано (Июль 5, 2010 18:23:32)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version