Стандартный поиск (com_search, mod_search) в Joomla 1.5 и 2.5 обрезает поисковый запрос до 20 символов. Из-за этого страдают и пользователи и сам сайт, так как страдает его поисковая оптимизация.
Изменение длины поисковой фразы Joomla 2.5
В отличие от J1.5 жестко заданные пределы были вынесены в файлы локализации JOOMLA_ROOT/administrator/language/en-GB/en-GB.localise.php и JOOMLA_ROOT/language/en-GB/en-GB.localise.php. Для русской локализации это файлы JOOMLA_ROOT/administrator/language/ru-RU/ru-RU.localise.php и JOOMLA_ROOT/language/ru-RU/ru-RU.localise.php.
Найдите в них следующие фрагменты кода:
/**
* Returns the lower length limit of search words
*
* @return integer The lower length limit of search words.
* @since 1.6
*/
public static function getLowerLimitSearchWord() {
return 3;
}
/**
* Returns the upper length limit of search words
*
* @return integer The upper length limit of search words.
* @since 1.6
*/
public static function getUpperLimitSearchWord() {
return 20;
}
В функции getLowerLimitSearchWord можно изменить минимальное количество символов поиска (установлено "3"), а в getUpperLimitSearchWord - максимальное (установлено на "20").
Изменение длины поисковой фразы Joomla 1.5
Для исправления этой ошибки зайдем в administrator/components/com_search/helpers/search.php и на строке 58 изменяем длину поиска с 20 на 40 символов
// limit searchword to 20 characters
if ( JString::strlen( $searchword ) > 20 ) {
на
// limit searchword to 40 characters
if ( JString::strlen( $searchword ) > 40 ) {
Второе исправление надо сделать в админке. В модулях найти модуль Поиска и заменить в нем значение параметра максимальной длины с 20 на 40. Это значение используется в \modules\mod_search\tmpl\default.php (строка 6) и называется maxlength="'.$maxlength.'".
И третье - в самой форме поиска \components\com_search\views\search\tmpl\default_form.php (строка 12):
надо заменить длину:
input type="text" value="escape($this-" maxlength="20" size="30" id="search_searchword" name="searchword" />searchword); ?>" class="inputbox" />
на
input type="text" value="escape($this-" maxlength="40" size="30" id="search_searchword" name="searchword" />searchword); ?>" class="inputbox" />

