plone.app.theming показва тематични страници за грешки, които получават маркиране от подзаявки

Ние използваме plone.app.theming с някои правила, които използват външно съдържание за изграждане на нашата тема. напр. имаме изглед, наречен "standard-page-elements" и редица правила, които копират съдържание от него като

 <copy attributes="*" theme="/html" content="/html" href="/bg@@standard-page-elements" />

Този резултат е подзаявка, която се изпраща на Plone за елементи на стандартна страница в текущия контекст. Всичко това работи чудесно.

Попадам на проблемни страници с грешки в тематизирането. По-специално заявки за път с няколко папки, където една от родителските папки не съществува, напр.

/mispelt/my_page

Това води до подзаявка, която сама по себе си генерира грешка „не е намерена“ и след това завършвате с неформатирана страница за грешка и проследяване във вашите регистрационни файлове.

Нашият сайт Plone е настроен за множество подсайтове, така че публичната начална страница на всеки подсайт всъщност е обект едно ниво надолу (/plone/my_site_1, /plone/my_site_2), всички конфигурирани с виртуални хостове Apache и виртуални Zope хост чудовище.

По същество това, което искам да направя, е да използвам изгледа на стандартните елементи на подсайтовете за страници с грешки, но не мога да намеря начин да направя това.


person scarba05    schedule 23.11.2011    source източник


Отговори (1)


Току-що натиснах някои набори от промени за plone.app.theming, което би трябвало да означава, че href="/bg/@@standard-page-elements" вече е разрешен спрямо корена на навигацията, а не корена на сайта на plone. Ще трябва условно да използвате едното или другото в зависимост от нещо, присъстващо в ненамерената страница.

Мисля, че href="/bg@@standard-page-elements" вероятно трябва да се разреши от най-близкия контекст, а не от предоставения url (което също би коригирало нещата за вас), но трябва да помисля повече за това къде и как мога да поправя това.

person Laurence Rowe    schedule 24.11.2011
comment
Страхотен. Всъщност бях тествал същата промяна локално и щях да предложа корекция. Вече мога да вложа някаква логика в моите правила за страници с грешки, за да използват абсолютния път. Един от начините да получите най-близкия контекст е от обекта за заявка Zope. request.other['PARENTS'][0] ще го направи, мисля. - person scarba05; 28.11.2011