Не секрет, что ограничение в 20 символов в поисковом механизме несколько ограничивает возможности Joomla, особенно если вы используете портал или интернет магазин и ищете длинное словосочетание. Удивительно, что разработчики не вынесли такой параметр в админку com_search.
Ниже расскажу, как исправить проблему.
1. Открываем
administrator/components/com_search/helpers/search.php и находим такой кусок кода (строка 58):
function limitSearchWord(&$searchword)
{
$restriction = false;
// limit searchword to 20 characters
if ( JString::strlen( $searchword ) > 20 ) {
$searchword = JString::substr( $searchword, 0, 19 );
$restriction = true;
}
заменяем на:
function limitSearchWord(&$searchword)
{
$restriction = false;
// limit searchword to 50 characters
if ( JString::strlen( $searchword ) > 50 ) {
$searchword = JString::substr( $searchword, 0, 19 );
$restriction = true;
}
Т.е. меняем число 20 на 50. (можете задать своё значение)
2. В модуле поиска
\modules\mod_search\tmpl\default.php (строка 6):
есть параметр: maxlength="'.$maxlength.'" - здесь берётся значение, заданное в модуле mod_search. Измените значение с 20 до 50 в админке модули или путём редактирования XML файла модуля.
3. Открываем
\components\com_search\views\search\tmpl\default_form.php (строка 12):
заменяем:
<input type="text" name="searchword" id="search_searchword" size="30" maxlength="20" value="<?php echo $this->escape($this->searchword); ?>" class="inputbox" />
на:
<input type="text" name="searchword" id="search_searchword" size="30" maxlength="50" value="<?php echo $this->escape($this->searchword); ?>" class="inputbox" />
Т.е. меняем число 20 на 50. (можете задать своё значение)
Готово.