在plone的搜索页面上显示portlet?

时间:2011-04-08 14:42:43

标签: search portlet plone

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

我正在使用plone 4.0.1。

1 个答案:

答案 0 :(得分:6)

搜索结果模板禁用左侧和右侧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。

我认为你能做到的唯一方法是:

  1. 为搜索结果创建一个新的特殊文件夹(即search-results)。
  2. 在新文件夹中设置所需的portlet。
  3. search设置为该文件夹的默认页面。
  4. 修改搜索视图,不要重定向到/search,而是重定向到/search-results
  5. 修改search_form模板(adavnced search)以重定向到/search,而不是/search-results
  6. 我在Plone 3网站上做了一次并且它有效。虽然不是为了显示特殊的portlet。