Пользовательские поля SearchableText и HTML в Plone - PullRequest
4 голосов
/ 05 августа 2011

Я пишу тип контента Dexterity, который содержит простой текст и поля HTML. Я хочу иметь собственный метод SearchableText (), который предоставляет эти поля для portal_catalog и Plone полнотекстового поиска.

Я предполагаю, что для простого текста я могу просто объединить строки с пробелами. Но как мне предварительно обработать HTML-контент при его отображении в SearchableText ()?

Ответы [ 2 ]

9 голосов
/ 05 августа 2011

для преобразования данных в plone существует инструмент с именем portal_transforms, который достаточно умён в конвертации (в зависимости от вашей ОС / установки он также может конвертировать .doc, .pdf и т. Д.):

from Products.CMFCore.utils import getToolByName
transforms = getToolByName(self.context, 'portal_transforms')
stream = transforms.convertTo('text/plain', html, mimetype='text/html')
text = stream.getData().strip()

для индексирования полей в ловкости. Я предлагаю использовать colle.dexteritytextindexer (но в данный момент поддержка TTW отсутствует). -> http://pypi.python.org/pypi/collective.dexteritytextindexer -> https://github.com/collective/collective.dexteritytextindexer

ура

1 голос
/ 06 августа 2011

Может colle.dexteritytextindexer может помочь вам получить часть того, что вы хотите.

...