Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2010 16:12:15

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

BB TAL.. Что сделать, чтоб хоть что-то работало?

LightOfMooN
AttributeError: ‘Section’ object has no attribute ‘meta_type’
Так и есть, у объекта отсутствует атрибут. Все понятно.



Офлайн

#2 Сен. 23, 2010 16:13:03

LightOfMooN
От:
Зарегистрирован: 2010-09-11
Сообщения: 127
Репутация: +  0  -
Профиль   Отправить e-mail  

BB TAL.. Что сделать, чтоб хоть что-то работало?

regall
Раскопал-таки.
meta_type - это атрибут для одного из способов поиска объектов в Zope2, а в Zope3 его нет, так как незачем. Нашел тут.
Тогда почему его приводят в примерах в руководстве по BlueBream?
Хотя, вопрос похоже не вам а авторам руководства =)
objectValues() получается тоже нету?
Как же отбирать нужные контент-типы..

P.S.
AttributeError: ‘Section’ object has no attribute ‘meta_type’
как-то же он определил, что object ‘Section’ =)



Офлайн

#3 Сен. 23, 2010 16:20:39

Sleepwalker
От:
Зарегистрирован: 2008-07-18
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

BB TAL.. Что сделать, чтоб хоть что-то работало?

По поводу того как zope лпределили что object ‘Section’:

в виде вы писали что-то типа self.context.meta_type …

Так вот self.context и есть ваш Section object… Вот так и определил.



Офлайн

#4 Сен. 23, 2010 16:22:43

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

BB TAL.. Что сделать, чтоб хоть что-то работало?

objectValues - всего лишь пример того, как строятся path expressions в TAL и там же наведен пример с использованием в Python коде.
Если вы имеете в виду это - это.



Офлайн

#5 Сен. 23, 2010 16:24:27

LightOfMooN
От:
Зарегистрирован: 2010-09-11
Сообщения: 127
Репутация: +  0  -
Профиль   Отправить e-mail  

BB TAL.. Что сделать, чтоб хоть что-то работало?

нууу)) это конечно
Вот только self.context выдаёт полную информацию об объекте. А как взять только нужную часть, а именно название контент-типа/класса? Не парсить же строку



Отредактировано (Сен. 23, 2010 16:31:05)

Офлайн

#6 Сен. 23, 2010 16:29:24

LightOfMooN
От:
Зарегистрирован: 2010-09-11
Сообщения: 127
Репутация: +  0  -
Профиль   Отправить e-mail  

BB TAL.. Что сделать, чтоб хоть что-то работало?

regall
objectValues - всего лишь пример того, как строятся path expressions в TAL и там же наведен пример с использованием в Python коде.
Если вы имеете в виду это - это.
Да, я имел ввиду эти примеры. В английской версии тоже самое.

вот например:
<tr tal:repeat="item python: context.objectValues()">

Но ведь оно не работает) Имхо глупо приводить неработающие примеры в руководстве…

P.S.
Я привык к Plone. Там всё это есть. Поэтому тяжело переходить на новую платформу, где в руководстве приводят примеры, основываясь на том, чего нет =). Люди ведь могут и поверить. Я поверил))



Офлайн

#7 Сен. 23, 2010 16:34:11

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

BB TAL.. Что сделать, чтоб хоть что-то работало?

LightOfMooN
Вот только self.context выдаёт полную информацию об объекте. А как взять только нужную часть, а именно название контент-типа/класса?
А зачем вам имя класса?



Офлайн

#8 Сен. 23, 2010 16:37:46

LightOfMooN
От:
Зарегистрирован: 2010-09-11
Сообщения: 127
Репутация: +  0  -
Профиль   Отправить e-mail  

BB TAL.. Что сделать, чтоб хоть что-то работало?

Ну к примеру, в контейнере имеем несколько различных объектов: заявки, товары и прочее.
По имени класса в шаблоне можно вывести только нужные.

В моём же случае, например, есть разделы, в которые вкладываются другие разделы и таким образом происходит каталогизация продукции. Также в разделы вкладываются объекты-товары.
Для формирования меню мне надо взять только объекты-разделы, а для формирования списка товаров - объекты-товары. =)



Отредактировано (Сен. 23, 2010 16:39:45)

Офлайн

#9 Сен. 23, 2010 16:45:40

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

BB TAL.. Что сделать, чтоб хоть что-то работало?

Для этого можно использовать, например, интерфейсы:

ISection.providedBy(obj)
То есть, узнаете предоставляет ли объект obj интерфейс ISection.



Офлайн

#10 Сен. 23, 2010 16:46:31

LightOfMooN
От:
Зарегистрирован: 2010-09-11
Сообщения: 127
Репутация: +  0  -
Профиль   Отправить e-mail  

BB TAL.. Что сделать, чтоб хоть что-то работало?

спасибо =)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version