[Решено] Лечим "живой поиск" в модуле K2Tools для К2 2.5.1

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 3820 Просмотров
*

SDKiller

  • Moderator
  • *****
  • 2734
  • 320
  • ...ergo sum
Одно из новшеств в К2 версии 2.5 - "живой" (аякс) поиск c динамическим выводом результатов в процессе ввода текста
(что-то наподобие поиска от Google и яндекс).







Реализуется с помощью стандартного модуля К2 Tools в режиме поиска.
Чтобы включить, надо в настройках модуля отметить дополнительный чекбокс.
К сожалению стандартный модуль "из коробки" не заработал, пришлось разбираться.

В стандартном шаблоне модуля допущена ошибка, из-за которой jQuery не может "прицепиться" к классам и соответствующим элементам шаблона.

Исправляем одну строчку (а именно - 20-ю) в файле modules\mod_k2_tools\tmpl\search.php

Оригинал
Код
<div id="k2ModuleBox<?php echo $module->id; if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); if($params->get('liveSearch')) echo ' k2LiveSearchBlock'; ?>" class="k2SearchBlock">


Надо сделать
Код
<div id="k2ModuleBox<?php echo $module->id;?>" class="k2SearchBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); if($params->get('liveSearch')) echo ' k2LiveSearchBlock'; ?>">

Данная ошибка исправлена разработчиками в версии 2.5.2
(примечание: текущая версия К2 - 2.5.3)


Если поиск всё же не работает, попробуйте ещё один вариант решения пробемы.
« Последнее редактирование: 29.11.2011, 09:28:09 от SDKiller »

*

yrygvay

  • Живу я здесь
  • ******
  • 1281
  • 32
Как всегда спасибо огромное !

хотя включив все пункты настроек в - ДА
аякс поиск не появился

при нажатии на кнопку поиск . перезагружается главная страница и всё
в логах чисто!
« Последнее редактирование: 23.11.2011, 14:07:10 от yrygvay »
Смотрю....

*

staticlight

  • Moderator
  • *****
  • 1090
  • 65
  • Staticlight
Мб разработчикам написать?
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I

*

SDKiller

  • Moderator
  • *****
  • 2734
  • 320
  • ...ergo sum
хотя включив все пункты настроек в - ДА
аякс поиск не появился

Надо смотреть пристальнее на пациента. После исправления должно работать.
Механизм, как это часто бывает с аяксом, очень тесно привязан к конкретным элементам шаблона.

А в целом - данная функция модуля поиска востребована, натыкался здесь на аналогичные темы не так давно. Но появление её прошло как-то незамеченным.

*

SDKiller

  • Moderator
  • *****
  • 2734
  • 320
  • ...ergo sum
Ошибка с классами исправлена разработчиками в версии 2.5.2
« Последнее редактирование: 29.11.2011, 09:29:13 от SDKiller »

*

SDKiller

  • Moderator
  • *****
  • 2734
  • 320
  • ...ergo sum
при нажатии на кнопку поиск . перезагружается главная страница и всё
в логах чисто!

В некоторый случаях такое действительно имеет место.
Методом научного тыка вылечилось редактировании строки с action формы в том же файле (добавляем JURI::base())

Было:
Код
<form action="<?php echo JRoute::_('index.php?option=com_k2&view=itemlist&task=search'); ?>" method="get" autocomplete="off" class="k2SearchBlockForm">

Стало:

Код
<form action="<?php echo JRoute::_(JURI::base().'index.php?option=com_k2&view=itemlist&task=search'); ?>" method="get" autocomplete="off" class="k2SearchBlockForm">

*

staticlight

  • Moderator
  • *****
  • 1090
  • 65
  • Staticlight
Переместил
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I

*

viromax

  • Новичок
  • *
  • 9
  • 0
А у меня чегой-то ничего не находит. При написании поискового запроса в сроку AJAX вариантов не выдает, а при нажатии "поиск" выдает такой вот результат

*

imrangerga

  • Новичок
  • *
  • 5
  • 0
В некоторый случаях такое действительно имеет место.
Методом научного тыка вылечилось редактировании строки с action формы в том же файле (добавляем JURI::base())

Было:
Код
<form action="<?php echo JRoute::_('index.php?option=com_k2&view=itemlist&task=search'); ?>" method="get" autocomplete="off" class="k2SearchBlockForm">

Стало:

Код
<form action="<?php echo JRoute::_(JURI::base().'index.php?option=com_k2&view=itemlist&task=search'); ?>" method="get" autocomplete="off" class="k2SearchBlockForm">

вот это ни стоит делать, у меня версия 2,5.6 когда этот код добавил то поиск вообще перестал работать. а живой так и не ожил

*

imrangerga

  • Новичок
  • *
  • 5
  • 0
вот это ни стоит делать, у меня версия 2,5.6 когда этот код добавил то поиск вообще перестал работать. а живой так и не ожил

извиняюсь, был не прав. Работает живой писк. Вот только ищет неправильно (( было бы отлично если живой поиск интегрировался бы с Google поиском ))

*

trump90

  • Новичок
  • *
  • 3
  • 0
А у меня живой поиск не работает.
Блок с результатами ответа появляется, но он пустой - я так понимаю, AJAX не подключается. Версия К2 2.6.8, Joomla 2.5. Также установлен K2 Store.