При поиске по portal_catalog вы получаете в результате набор как бы представления элементов с метаданными (смотри в ZMI вкладку metadata и index) - Products.ZCatalog.Catalog.mybrains. И у них другие методы и свойства. Чтобы получить сам объект, нужно вызвать getObject(). То есть как то так:
<tal:issues repeat="item issues">
<tal:issue tal:define="obj python:item.getObject()"> <tr tal:define="oddrow repeat/item/odd"
tal:attributes="class python:test(oddrow, 'even',
'odd')">
<td tal:content="item/getId">
</td>
<td>
<a tal:attributes="href item/getURL;
title item/Description;"
tal:content="item/Title" />
</td>
<td tal:condition="here/isUsingReleases">
<td tal:content="item/getSeverity" />
<td tal:content=
"obj/Rating" /> #здесь выдает ошибку
</tr>
</tal:issue> </tal:issues>
Либо добавить новый индекс в портал каталог типа FieldIndex и назвать его Rating - что лучше, так как будет по идеи быстрее работать)
Сорри за терминологию - в теории не сильна)
06.03.09, 14:53, "ildus" <
[hidden email]>:
> Есть два класса (PoiTracker - класс трекера и PoiIssue - класс ошибки)
PoiTracker отображает список из элементов PoiIssue, а именно создает
таблицы с полями из PoiIssue (ну там имя, описание итп). Шаблон
отображающий трекер - poi_tracker_view.pt, шаблон отображающий ошибку
- poi_issue_view.
Проблема такая. Добавил я еще одно поле в схему PoiIssue:
IntegerField(
name='rating',
default=0,
widget=IntegerWidget(
label='Rating',
),
required=True,
),
и метод для его чтения:
def Rating(self):
try:
return str(self.rating)
except:
return '0' #так извращенно потому что у старых объектов
это поля пока нет
ну так вот. если отображать это поле в poi_issue_view
(tal:content="here/Rating") все отображается отлично, при этом в
poi_tracker_view это поле не отображается и выводится ошибка KeyError:
Тип ошибки
KeyError
Значение ошибки
'Rating',
Поле выводится куском шаблона poi_tracker_view (с сокращениями):
<tal:issues repeat="item issues">
<tr tal:define="oddrow repeat/item/odd"
tal:attributes="class python:test(oddrow, 'even',
'odd')">
<td tal:content="item/getId">
</td>
<td>
<a tal:attributes="href item/getURL;
title item/Description;"
tal:content="item/Title" />
</td>
<td tal:condition="here/isUsingReleases">
<td tal:content="item/getSeverity" />
<td tal:content="item/Rating" /> #здесь выдает ошибку
</tr>
</tal:issues>
где issues это список полученный с помощью portal_catalog.
В чем может быть ошибка?
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений
[hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---