Joomla

Конфигурирование страницы результатов поиска

Функциональные возможности поиска в Joomla разделяются на две отдельные составляющие: модуль и компонент, отображающий результаты поиска. В модуле поиска отображается текстовое поле страницы, в котором пользователь может ввести критерий поиска и начать его.

Этот модуль легко поддается управлению и стилевому оформлению подобно любому другому модулю. Если вам приходилось когда-нибудь оформлять внешний вид страницы результатов поиска, воспроизводимой компонентом поиска, то вас, вероятно, не раз постигало сильное разочарование. В связи с тем что компонент поиска формирует и отображает результаты, отсутствует меню, к которому можно было бы присоединить конкретный шаблон. Это означает, что страницу результатов поиска нельзя сконфигурировать таким образом, чтобы на ней присутствовали одни меню и отсутствовали другие.

Допустим, что строящийся веб-сайт рассчитан на две категории посетителей: пользователей и разработчиков. Меню, отображаемые для пользователей, должны отличаться от тех, которые отображаются для разработчиков, и наоборот. Допустим также, что функции поиска должны быть доступны только для разработчиков, чтобы приспособить поиск к техническим запискам, хранящимся в базе данных статей. При установке веб-сайта можно сначала воспользоваться списочным блоком конфигурации модулей, чтобы указать место для отображения модулей. В данном случае требуется, чтобы модуль поиска отображался на страницах для разработчиков. Затем можно воспользоваться диспетчером шаблонов, чтобы указать шаблоны для представления отдельных меню. В данном примере шаблон для разработчиков (с мелкими шрифтами и простейшим стилем оформления) должен применяться на страницах для разработчиков, тогда как на страницах для пользователей — шаблон, обеспечивающий больше удобств, специальные возможности и намного более изящное стилевое оформление.

Такая система специально настраиваемого отображения модулей и меню действует идеально до тех пор, пока дело не дойдет до страницы результатов поиска. На этой странице происходит возврат к шаблону, используемому по умолчанию (т.е. к шаблону для пользователей), а отображаются только те меню, которые имеются на всех страницах. Но ведь такая конфигурация выглядит непрофессионально для разработчиков, нарушая согласованность построения веб-сайта. И даже если произвести поиск, то вряд ли удастся обнаружить какие-нибудь настройки, позволяющие определить режим отображения страницы результатов поиска. В качестве выхода из этого затруднительного положения придется создать новое меню, специально предназначенное для результатов поиска. Если проследить весь процесс и выяснить, что именно отображается в настоящий момент на странице результатов поиска, то можно устранить некоторые недочеты в работе с Joomla. Именно этому и посвящен данный раздел.

К отображению результатов поиска имеют отношение некоторые модули, и поэтому специальную настройку режима отображения уместно начать именно с них. В частности, на странице результатов поиска отображается главное меню, а следовательно, можно попытаться отключить этот модуль и посмотреть, какое влияние он оказывает на отображение результатов поиска. Итак, выберите команду меню Extensions^Module Manager в интерфейсе администратора веб-сайта, чтобы отобразить список элементов модулей. На каждое меню должен приходиться отдельный модуль, фактически воспроизводящий меню. В открывшемся окне должна присутствовать одна строка с именем модуля Main Menu (Главное меню) и столбец типа модуля с текстом Menu. Это и есть то меню, которое требуется проверить. Щелкните на пункте меню Main Menu, чтобы отобразить различные параметры настройки меню. На панели Menu Assignment из раскрывающегося списка Module Assignment (Назначение модуля) должен быть по умолчанию выбран вариант On ail pages, чтобы меню появлялось на всех страницах. Выберите вариант No pages (Ни на одной из страниц) и щелкните на кнопке Save, чтобы сохранить внесенные изменения. Вернитесь к странице результатов поиска и обновите ее в окне браузера. Теперь главное меню должно отсутствовать на этой странице, как, впрочем, и на всех остальных страницах. Таким образом, вы добились того, чтобы настройки, сделанные на панели Menu Assignment, оказывали воздействие на страницу результатов поиска таким же образом, как и на все остальные страницы.

Вернитесь к панели Menu Assignment, чтобы на этот раз специально выбрать по отдельности все имеющиеся меню. Щелкните сначала на кнопке Select All (Выбрать все), чтобы добавить меню на всех страницах, а затем на кнопке Save, чтобы сохранить внесенные изменения. Обновив страницу результатов поиска, вы обнаружите нечто странное: главное меню отсутствует на ней! Но если перейти на любую другую страницу веб-сайта, то главное меню появится на ней, как и предполагалось. Следовательно, существует невидимая страница, на которой должны храниться результаты поиска, обрабатываемые в Joomla при выборе варианта On all pages для назначения меню, хотя она и отсутствует в списке меню. Для подобного рода меню нужно создать меню, замещающее соответствующий компонент. Это замещающее меню можно настроить на отображение требуемым образом, чтобы использовать его как пробный камень для конкретного компонента. А страницу можно скрыть под любым другим меню. И поскольку она существует, то система выберет ее, применив сделанные настройки.

Вывод Вашего сайта в ТОП Яндекс и Google – комплексное продвижение сайтов в Чехове.

Для того чтобы указать, что именно должно присутствовать на странице результатов поиска, создайте сначала замещающее меню поиска, выполнив следующие действия.

  1. Создайте новое меню Search Placeholder (Заместитель поиска) в окне Menu Manager.
  2. Установите это меню в состояние “не опубликовано44 (Unpublish). Система будет по прежнему распознавать это меню, но нигде не отображать его.
  3. Создайте новый пункт в меню Search Placeholder и выберите его тип Search Form or Search Results (Форма поиска или результаты поиска).
  4. Запишите идентификационный номер данного меню, поскольку он понадобится ниже для настройки параметра ItemID.
  5. Перейдите к диспетчеру модулей (окно Module Manager) и щелкните на модуле Search.
  6. Выберите вкладку Basic Options и введите записанный идентификационный номер замещающего меню в текстовом поле Set ItemID (Установка идентификационного номера элемента). Благодаря этому указанный пункт меню будет использован в Joomla для настройки режима отображения модуля и выбора шаблона.
  7. Активизируйте модуль Footer, выбрав его из списка модулей в окне Module Manager.
  8. Щелкните на модуле Footer, перейдите к панели Menu Assignment и выберите в списочном блоке такой вариант, чтобы этот модуль появлялся только в меню Search Placeholder.

В итоге модуль Footer должен быть настроен таким образом, чтобы появляться только на странице результатов поиска. Далее перейдите в окно браузера и выполните поиск. Его результаты должны появиться в нижнем колонтитуле страницы, т.е. там, где отображается модуль Footer.

Это интересно