如何将Portlet添加到plone搜索或搜索结果页面?
使用@@ manage-portlets不起作用(www.mysite.com/search/@@manage-portlets),我得到一个空的搜索结果。
我想在该页面上也显示根文件夹的portlet,在我的情况下,搜索列使用整个页面宽度。

我正在使用plone 4.0.1。

最佳答案

搜索结果模板已禁用左右Portlet列(隐藏):
http://dev.plone.org/plone/browser/Plone/tags/4.0.1/Products/CMFPlone/skins/plone_forms/search.pt#L19

如果要在其中显示portlet,则应通过删除相应的行来自定义或覆盖search.pt模板:

disable_column_one python:request.set('disable_plone.leftcolumn',1);
disable_column_two python:request.set('disable_plone.rightcolumn',1);

无论如何,这不会让您为搜索结果设置特定的portlet,因为它只是在Plone站点根上下文中打开的模板。因此,您将看到Plone站点根portlet。

我认为您可以实现的唯一方法是:
  • 为搜索结果创建一个新的特殊文件夹(即search-results)。
  • 在新文件夹中设置所需的portlet。
  • search设置为该文件夹的默认页面。
  • 修改搜索视口,以重定向到/search而不是/search-results
  • 修改search_form模板(高级搜索)以重定向到/search而不是/search-results

  • 我曾经在Plone 3网站上做过一次,而且效果很好。尽管没有显示特殊的portlet。

    10-07 13:59
    查看更多