Показывать портлеты на странице поиска в Plone? - PullRequest
3 голосов
/ 08 апреля 2011

Как добавить портлеты на страницу поиска или результатов поиска?Использование @@ manage-portlets не работает (www.mysite.com/search/@@manage-portlets), я получаю пустой результат поиска.Я хотел бы также отобразить портлеты корневой папки на этих страницах, в моем случае в столбце поиска используется вся ширина страницы.

Я использую plone 4.0.1.

1 Ответ

6 голосов
/ 08 апреля 2011

В шаблоне результатов поиска отключены левый и правый столбцы портлета (скрыты): http://dev.plone.org/plone/browser/Plone/tags/4.0.1/Products/CMFPlone/skins/plone_forms/search.pt#L19

Если вы хотите отобразить там портлеты, вы должны настроить или переопределить свой шаблон search.pt, удалив соответствующую строку:

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

В любом случае это не позволит вам устанавливать конкретные портлеты для результатов поиска, так как это всего лишь шаблон, открытый в корневом контексте сайта Plone.Таким образом, вы увидите корневые портлеты сайта Plone.

Единственный способ, которым, я думаю, вы могли бы достичь этого, является:

  1. Создать новую специальную папку для результатов поиска (например, search-results).
  2. Установите нужные портлеты в новой папке.
  3. Установите search в качестве страницы по умолчанию для этой папки.
  4. Измените панель поиска для перенаправления не на /search, а нана /search-results.
  5. Измените шаблон search_form (расширенный поиск), чтобы перенаправить не на /search, а на /search-results.

Я сделал это один раз в Plone 3сайт и все заработало.Хотя это не должно было отображать специальные портлеты.

...