Форум сайта python.su
Итак, вернулся опять к решению єтого вопроса, начитался разного - закончилось тем, что просто начал смотреть как соедан roterdam в зоупе.
Скин объявил, даже увидел его по ссылке http://127.0.0.1:8080/++skin++NotFound
объявлял вот так
<browser:layer
name=“notfound”
interface=“.notfound.notfound”
/>
<interface
interface=“.notfound.notfound”
type=“zope.publisher.interfaces.browser.IBrowserSkinType”
name=“NotFound”
/>
<browser:page
for=“*”
name=“index.html”
permission=“zope.View”
layer=“notfound”
template=“notfound.pt”
/>
теперь, в корневом zcml подключил его вот так <include package = “.notfound” />
то есть он у меня во вложенной папке находится - zcml в котором описан скин и слой
шаблон notfound.pt ну и notfound.py
теперь его же надо прикрутить:
по советам
<z3c:pagelet
for=“zope.publisher.interfaces.INotFound”
name=“index.html”
class=“… мой вид …”
permission=“zope.View”
layer=“…мой скин layer…”
/>
zope3 вообще говорит что unbound prefix на z3c
попробовал
<browser:page
for=“zope.publisher.interfaces.INotFound”
name=“index.html”
class=“.class22.Class2Impl”
permission=“zope.View”
layer=“notfound”
/>
уж не знаю, так ли я понял надпись
<page
…
for = “zope.exception.interfaces.INotFound”
…
/>
может конечно и не так, но слой явно есть, но он не пркручивается вместо страници ошибки zope3
я так понимаю я пітаюсь прикрутить скин для некоторого интерфейса zope.publisher.interfaces.INotFound с использованием некоторого вида class=“.class22.Class2Impl” и слоя (notfound - layer или слой , NotFound - скин этого слоя).
Похоже на то что я не правильно пишу layer=“notfound”, вроде б сюда нужно написать скин а не слой. (layer=“…мой скин layer…”)
(я так понял что есть слой, а у него есть скин. Хотя если нужно указать слой layer, то почему нужно указывать скин?)
Ну как бы там ни было, запись
layer=“NotFound”
говорит, что нет такого объекта NotFound
а если layer=“notfound”, то zope3 запускается нормально, но новая страница ошибок не показывается при вызове несуществующей страници класса2.
Где я опять что то непонял или недочитал?
Желательно чтоб страница ошибок была не только для отдельного класса
тут я нашёл
<include package=“z3c.pagelet” file=“meta.zcml” />
это какой то инструмент и его подключать надо отдельно?
Отредактировано (Янв. 4, 2010 22:38:33)
Офлайн
misha111 c z3c.pagelet пока не путай голову, я тогда в рассылке написал его по привычке, т.к. в основном скины на нем делаю.
В остальном ты прав - ты не до конца понял понятие skin'ов и layer'ов.
http://zopelada.ru/lection/doc.zopelection/14%20Скины/Скины.txt
Офлайн