我有一些基于Archetypes内容的Plone网站。
我注意到,香草portal_catalog
搜索表单(manage_catalogView
)允许按语言portal_type
(一个!)和仅路径进行过滤 - 因为它们始终可用。
因此,每当我需要通过任何其他标准进行快速搜索时,这涉及编程,例如,写一个扔掉Script (Python)
。
是否有一些扩展提供了通用搜索表单,提供了所有已配置的搜索索引? E.g:
Creator
min
和max
;其中一个或两者都可以使用)答案 0 :(得分:0)
也许我错过了您的问题,但您不需要外部方法来进行目录搜索或自定义扩展。 您可以使用python脚本对象并从url中直接调用它。
转到ZMI根目录,使用右上角的选择字段添加脚本(python)。提供ID并删除示例内容。
使用您在http://docs.plone.org/develop/plone/searching_and_indexing/query.html
中找到的queryCatalog或searchCatalog的示例并使用TEST选项卡或表单URL调用您的脚本。
示例:
在ZMI根文件夹中,我创建了一个名为my_test
的python脚本catalog = context.portal_catalog
from DateTime import DateTime
# DateTime deltas are days as floating points
end = DateTime() + 0.1
start = DateTime() - 1
date_range_query = { 'query':(start,end), 'range': 'min:max'}
query = {'id': ['id_1', 'id_2'],
'Creator': ['creator1', 'creator2'],
'created': date_range_query,
'review_state': ['published', 'pending']}
results = catalog.queryCatalog(query)
for brain in results:
print brain.pretty_title_or_id()
return printed
最后,如果你在python脚本中设置一些参数,你也可以通过URL或TEST选项卡传递它们。
希望它可以帮到你