Поля даты в пользовательском шаблоне представления Dexterity — некоторые не отображаются

У меня есть тип содержимого ловкости с настраиваемыми полями, которые я добавил на вкладку «метаданные» в разделе portal_catalog.

Я построил свой шаблон представления со следующим (это модификация folder_listing):

<td tal:content="item/date_request" />
<td tal:content="item/date_due_completed" />
<td tal:content="item/date_completed" />
<td tal:content="item/authorisation_required" />
<td tal:content="item/authorisation_acquired" />
<td tal:content="item/job_status" />

Однако, когда я просматриваю представление folder_listing, я получаю следующий вывод:

<td>2013-04-30</td>
<td></td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td>Incomplete</td>

item/date_due_completed и item/date_completed, похоже, ничего не отображают, однако точно такая же информация выше для item/date_request отображается просто отлично.

Чтобы проверить это, я изменил представление для самого типа контента и использовал context/date_due_completed и context/date_completed, и он отлично отображает информацию!

Я очень смущен тем, почему я не могу нормально отобразить первое поле даты на folder_listing и все же не могу отобразить два других.

Кто-нибудь сталкивался с этим в прошлом и знает, что происходит не так?

ИЗМЕНИТЬ

Я также пробовал индексировать эти поля, и хотя в portal_catalog теперь я вижу, что мой тип контента индексируется для date_due_completed и date_completed, информация, содержащаяся в этих полях, не отображается в моем шаблоне folder_listing.

РЕДАКТИРОВАНИЕ №2

Я обнаружил, что если у вас есть несколько полей даты, все проиндексированы и добавлены метаданные, а затем обратитесь к ним в шаблоне представления (если поля были введены с одной и той же датой), будет отображаться только одно из них, есть ли обходной путь для это?

При вводе разных значений для каждого поля даты мой вывод выглядит следующим образом:

<td>2013-04-30</td>
<td>2013-05-30</td>
<td>2013-06-30</td>
<td>Yes</td>
<td>Yes</td>
<td>Incomplete</td>

person Dan    schedule 30.04.2013    source источник
comment
Вы переиндексировали существующие объекты после добавления спецификации метаданных в каталог?   -  person SteveM    schedule 30.04.2013
comment
Я попытался переиндексировать после того, как добавил метаданные, сначала у меня не получилось, поэтому я просто создал еще несколько объектов с моим типом контента, и, похоже, он начал работать. Я предполагаю, что просто потребовалось некоторое время для индексации   -  person Dan    schedule 01.05.2013
comment
Симптом необходимости переиндексации заключается в том, что в старом содержимом (созданном или отредактированном последним до добавления поля метаданных) отсутствуют метаданные в результатах поиска по каталогу. Новый контент будет иметь метаданные. Это соответствует вашему опыту?   -  person SteveM    schedule 01.05.2013
comment
@SteveM Я полагаю, что объекту, который я создал с использованием моего пользовательского типа контента, не хватало метаданных для этих полей даты, затем я добавил метаданные, а затем отредактировал тип контента, добавил даты в поля и сохранил свои изменения, как вы думаете, это приведет к этому проблема? Я предполагаю, что он не переиндексирует объект, когда вы нажимаете «Сохранить», как если бы я создавал новый с нуля?   -  person Dan    schedule 02.05.2013
comment
Объекты контента индексируются при сохранении и переиндексируются при редактировании.   -  person SteveM    schedule 02.05.2013


Ответы (1)


Иногда Zopemonster немного хитрый, и если он вызывает много ошибок шаблона, особенно в макросах, синтаксический анализатор XML зависает, но не выдает сообщений об ошибках. Выключите свой кластер. Делать

for i in `find /path/to/my/plone/ -name *.pyc`; do rm $i; done` 

и снова перезапустить. Это очистит все ранее скомпилированные файлы Python. Если ваша ошибка сохраняется после этой процедуры, это может быть реальной ошибкой.

person ansi_lumen    schedule 01.05.2013