我正在写一个包含纯文本和HTML字段的Dexterity内容类型。我希望有一个自定义的SearchableText()方法,它将这些字段公开给portal_catalog和Plone全文搜索。
我假设纯文本我可以用空格进行字符串连接。但是,在SearchableText()中公开HTML内容时,我应该如何预处理HTML内容?
答案 0 :(得分:9)
用于转换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()
为灵巧索引字段我建议使用collective.dexteritytextindexer(但目前没有TTW支持)。 - > http://pypi.python.org/pypi/collective.dexteritytextindexer - > https://github.com/collective/collective.dexteritytextindexer
欢呼声
答案 1 :(得分:1)
也许collective.dexteritytextindexer可以帮助您获得所需的一部分。