4

我正在编写一个包含纯文本和 HTML 字段的敏捷内容类型。我想要一个自定义 SearchableText() 方法,将这些字段公开给 portal_catalog 和 Plone 全文搜索。

我假设对于纯文本,我可以用空格进行字符串连接。但是在 SearchableText() 中公开 HTML 内容时,我应该如何预处理它?

4

2 回答 2

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

干杯

于 2011-08-05T13:13:31.180 回答
1

或许collective.dexteritytextindexer可以帮助你得到你想要的部分。

于 2011-08-05T21:02:21.160 回答