Переделка модуля ПОИСК для шапки сайта, плюс хак компонента Поиск

1575
Решил поделиться своим модулем поиска. Выглядит следующим образом

ОПИСАНИЕ: поиск как в Яндексе на главной - при "тыке" на ссылку сверху происходит поиск по выбранному компоненту, плюс пример поиска (пока берутся теги из компонент, но именно поиск по тегам не работает, сделаю попозже). При нажатии на ссылку настройка поиска - появляется компонент поиска с открытым окном настроек.

Сначала апгрейдим компонент поиск как писал уважаемый Fuze в этом посте, затем скачиваем архив, и:

1.выполняем sql запрос для добавления столбца с короткими именами компонентов, далее вам самим надо добавить для
каждой строки в таблице cms_components короткое имя компонента (например для ФОТОГАЛЕРЕИ - пишем ФОТО и т.д.)

2.обновляем model.php в компоненте com_search
3.копируем файл модуля и шаблон для модуля в соответствующую папку вашего шаблона.
4. Также добавляем стили из файлов addto_styles.css и меняем com_search_addto_styles.css(если не меняли при обновлении компонента ПОИСК до в.1.8.1) в ваш styles.css.

Архив брать тут
Вопросы будут - пишите...

Если моя информация была для вас полезной, можно отблагодарить меня :
Yandex счет 41001684845537
Webmoney R750806594532
Модификация компонента Статьи. Дорожная карта. | Доска объявлений 1.8.b2 beta-версия.
Комментарии (13)
Fuze 26 сентября 2011 в 12:56 +1
Код PHP:
SELECT COUNT(*) as `count` from cms_tags WHERE (target="content" OR target="catalog" OR target="blogpost" OR target="map")
запрос будет выполняться долго, лучше сделать target IN ()
Файл модели лучше взять отсюда и там поправить запрос на выборку компонентов.
Крот 26 сентября 2011 в 13:15 +1
обновил архив
Atid 26 сентября 2011 в 15:58 0
демка есть :)?
Крот 30 сентября 2011 в 01:34 0
именно демки нет... есть рабочий сайт
͡﴾͡๏̯͡๏﴿ 30 сентября 2011 в 02:20 0
Можно взглянуть на рабочий сайт?
Олег Васильевич я 6 октября 2011 в 10:56 0
Здравствуйте!
Не знаю что не так сделал (или так и должно быть?) - в Shops не ищет.
Кто-то сталкивался с подобным? Может в другом компоненте не ищет при нормальной работе в остальных.
Спасибо!
Олег Васильевич я 6 октября 2011 в 11:36 0
Прошу прошщения, не там писал.
Адресовалось этой записи записи.
Олег Васильевич я 16 октября 2011 в 19:42 0
Поробовал поставить.
1.В инструкции фразу
обновляем module.php в компоненте com_search
следует читать, если не ошибаюсь, так:
обновляем module.php в компоненте mod_search
2.При отображении результатов поиска отображаются полные названия компонентов (т.е. "Статьи", "Фото", "Каталог" и т.д. заменяются на "Каталог статей", "Фотогалерея", "Универсальный каталог").
В целом решение, на мой взгляд, очень даже!
Спасибо!
Олег Васильевич я 16 октября 2011 в 19:43 0
Скрин к пункту 2:
Олег Васильевич я 16 октября 2011 в 19:44 0
Крот 16 октября 2011 в 19:59 0
по 1 пункту -
должно быть обноляем model.php  в компоненте com_search, исправил)

по 2 пункту -
выполняем sql запрос для добавления столбца с короткими именами компонентов, далее вам самим надо добавить для каждой строки в таблице cms_components короткое имя компонента (например для ФОТОГАЛЕРЕИ - пишем ФОТО и т.д.)
. После того как добавите сокращенное имя (я не во все компоненты добавлял) - если указано, будет отображаться именно короткое имя.
Крот 16 октября 2011 в 20:02 0
пункт 2 невнимательно прочитал... спасибо что напомнили, сделаю вскоре отображение коротких имен в самом компоненте. И сортировку по дате публикации по умолчанию чтоб стояла!
Крот 16 октября 2011 в 20:27 0
чтобы в результатах поиска были короткие имена делаем следующее

в файле шаблона компонента поиск com_search_text.tpl в папке вашего шаблона находим строку
Код PHP:
                    {$enable_component.title} </label></td>
и меняем на

Код PHP:
            {if $enable_component.short_title==""} 
                    {$enable_component.title}
            {else}
                    {$enable_component.short_title}
            {/if}
</label></td>