Дорабатываем компонент поиска в Joomla 3

Эта статья, как вы видите из присвоенного тега, предлагается вниманию вебмастеров, которые работают с CMS Joomla 3.x.

Дело в том, что в последней версии Joomla 3.3.6, как я обнаружил, и возможно в более ранних, имеется ошибка в коде компонента поиска (com_search), которая приводит к тому, что на кнопке поиска на странице компонента не отображается ее название и поэтому она имеет весьма ущербный и малозаметный вид:

Поиск 1

Меня, как эстета и перфекциониста, заинтересовала причина этого и в результате небольших исследований я нашел ее. Поделюсь с вами результатами.

В коде формы поиска кнопка введена с помощью тега <button>. Синтаксис создания такой кнопки должен быть такой:

<button>Надпись на кнопке</button>

Однако, атрибуты в коде компонента поиска Joomla 3 присутствуют, а надпись - нет. В этом можно убедиться, открыв в редакторе файл /components/com_search/views/search/tmpl/default_form.php.

В нем мы видим такую конструкцию (строка 24):

<button title="<?php echo JHtml::tooltipText('COM_SEARCH_SEARCH');?>" onclick="this.form.submit()" name="Search"><span class="icon-search"></span></button>

Мы видим тут атрибут title (всплывающая подсказка при наведении мыши), видим пустой тег span (атрибут value в данном случае не обязателен, он бы все равно не сработал в конструкции с тегом button). Исправление ошибки состоит в том, чтобы ввести название кнопки в тег span, заменив приведенный выше код на следующий:

<button title="<?php echo JHtml::tooltipText('COM_SEARCH_SEARCH');?>" onclick="this.form.submit()" name="Search"><span class="icon-search"><?php echo JHtml::tooltipText('COM_SEARCH_SEARCH');?></span></button>

После этого кнопка принимает нормальный вид:

Poisk2

Вид текста на кнопке при желании можно изменить с помощью класса icon-search в файле стилей вашего шаблона сайта (обычно template.css).

Для сохранения внесенных изменений при обновлении версии Joomla лучше править не вышеприведенный файл, а сначала выполнить переопределение компонета com_search и править уже файл по адресу /templates/ваш_шаблон/html/com_search/search/default_form.php. Переопределение делается в Админке переходом на Расширения - Менеджер шаблонов - Шаблоны - Ваш шаблон - Create Overrides - Компоненты - com_search - search. Это создает копии нужных файлов в вашем шаблоне.

Вот как то так. Кстати, модуль поиска (mod_search) не содержит подобной ошибки в коде и работает нормально.

Вторая доработка компонента поиска, которую я считаю полезной - это увеличение максимальной длины поисковых слов в строке поиска с дефолтных 20 символов до, по крайней мере, 50 символов. Здесь я не изобретал велосипед, а просто воспользовался статьей "Как изменить количество символов в поиске Joomla", к которой я вас и отсылаю.

Удачи вам в работе с Joomla 3.


Поделитесь ссылкой

Буду признателен, если добавите ссылку на эту страницу в социальные сети:

Поиск по сайту
Поиск от Яндекса
Рассылка

Информационный портал Subscribe.ru

Дорогие друзья!
Вы можете подписаться на рассылку материалов сайта GeoDum.ru через сервис рассылок информационного портала Subscribe.ru. Она называется, как и сайт, "Сказки старого юзера". В рассылке представляются анонсы наиболее интересных материалов из различных разделов. Обычная периодичность рассылки - раз в неделю (по вторникам).

ПОДРОБНЕЕ...

Заработок

Хотите заработать на своем сайте? Тогда зарегистрируйтесь на этих ресурсах по моим реферальским ссылкам:

  • Kwork - магазин услуг фрилансеров.
  • MegaIndex - бесплатный анализ сайта.
  • Advego - заработок написанием статей, уникальный контент для вебмастеров.
  • Miralinks - заработок на размещении статей.
  • Webartex - заработок на написании и размещении статей.
gototop