Plone 4: Как получить категорию элемента / теги / ключевые слова внутри шаблона страницы - PullRequest
3 голосов
/ 05 октября 2011

Я работаю над пользовательским портлетом и пытаюсь определить лучший способ узнать, имеет ли элемент содержимого, возвращаемый коллекцией, определенный тег / ключевое слово. Представляют ли результаты сбора эти данные? Если так, как я могу получить доступ к этому из шаблона страницы моего портала. Если нет, что бы я мог настроить, чтобы это было выставлено? Я хочу иметь возможность добавлять определенный класс CSS к элементам с определенным ключевым словом / тегом.

Другими словами: Есть ли что-нибудь, что будет работать, как item.getSubject(), которое будет возвращать все ключевые слова, или item.hasSubject("foo")?

Обновление: @ Джакомо - я пробовал это, но не смог понять, что субъект был кортежем. Мне удалось добиться желаемого результата в шаблоне с чем-то вроде:

<dd class="portletItem"
    tal:define="featured python:' featured' if 'feature' in obj.Subject else '';"
    tal:attributes="class python:oddrow and 'portletItem even'+ featured or 'portletItem odd' + featured">

, где feature - это тег I, вводимый для элементов содержимого, а .featured - класс css, добавляемый к элементу портлета. Я новичок в Plone. Есть ли исчерпывающая онлайн-документация, где вы можете искать в дереве исходных текстов (для классов, методов и т. Д.), Или я застрял с использованием grep для поиска вещей?

1 Ответ

2 голосов
/ 05 октября 2011

вы можете получить доступ к результатам коллекций, и они просто мозги каталога, например:

for i in context.queryCatalog():
    print i.Subject 

если ваш шаблон не зарегистрирован напрямую в коллекциях, вам просто нужно заменить context на фактическое имя коллекции

...