Настройка «браузера» страниц индексированного поиска
Недавно занимался адаптацией шаблонов для сайта с установленным индексированным поиском (Indexed Search v2.12.0). Я уже, в принципе, привык, что чаще всего блок поиска в шаблоне настраивается через дополнительный экстеншен macina_searchbox, но не думал, что дизайн страницы с результатами поиска вызовет столько проблем. Изучая стандартный файл шаблона indexed_search.html, с удивлением для себя обнаружил, что там нет ни одной строки, касающейся отображения страниц результатов поиска. Хотя, увы, для TYPO3 подобные «ляпы» не редкость, это сейчас система более-менее развита, а пару лет назад было посложнее.
В общем, как обычно, пришлось искать решение данной проблемы, в следствии чего наткнулся на плагин с очень длинным названием Accessible browse results for indexed search (accessible_is_browse_results, версия 1.2.0 за 21.04.2011). По названию сразу было понятно, что это более-менее похоже на то, что искал я. В документации экстеншена описаны некоторые из его функций:
- Плагин делает ссылки в результатах поиска более «доступными» — переформатирует URL без JavaScript , оправляет параметры поиска через URL, добавляет атрибут title к тегу А.
- Меняет title ссылок для страницы в результатах поиска. То есть изначально, например, для страниц определен title вида «Search — yourword», заменяется это на » Results for: yourword — Page 2″.
- Добавляет параметр типа boolean для задания МЕТА description и keywords страницам поиска.
- Добавляет настройки typoscript для правки HTML браузера страниц поиска.
- Также с экстеншеном идет скрипт, который изменяет ссылку «to top» дабы она работала правильно.
Признаюсь, что все моменты этого модуля не разбирал, а использовал только некоторые нужные мне опции, поэтому кое-где мог не совсем правильно перевести ту или иную функцию accessible_is_browse_results — подробнее смотрите в документации. Там же есть перечень всех настроек плагина, что тоже пригодится в работе и пример для ссылки «to top».
Так вот что касается браузера страниц индексированного поиска. По умолчанию он имеет вид похожий на этот:
Было бы неплохо получить что-то вроде:
Для этого, во-первых, можно подправить тексты по умолчанию для страниц и ссылок «предыдущая», «следующая». Используем такой Typoscript код:
plugin.tx_indexedsearch { browseBoxWrap = <div class="browsebox">|</div> pageWrap = <span>|</span> _LOCAL_LANG.default { pi_list_browseresults_prev = << pi_list_browseresults_page = pi_list_browseresults_next = >> } _LOCAL_LANG.de { pi_list_browseresults_prev = << pi_list_browseresults_page = pi_list_browseresults_next = >> } } |
Здесь, как вы видите, указана локаль de, поэтому настройки будут применяться для языка по умолчанию и немецкого. В зависимости от того, какой нужен вам, меняете это значение. Кроме того, в коде есть параметры wrap для всего блока страниц и в отдельности для каждой ссылки страницы.
Также экстеншен accessible_is_browse_results добавляет опцию, позволяющую задать выделение для текущей страницы блока индексированного поиска.
plugin.tx_indexedsearch. activePageWrap = <span class="active">|</span> |
Ну а дальше все зависит от CSS — можно сделать оформление какое пожелаете. Либо же будет легче адаптировать уже готовый шаблон, представленный верстальщиком.