pashakiz
@pashakiz
web dev

Стандартный поиск Joomla не работает на главной (с &Itemid=101), но работает без «&Itemid=101». Как исправить?

Версия Joomla: 3.4
Вывожу поиск через стандартный модуль для всех страниц.

если ввести "слово" на главной site.ru, то в URL будет:
http://site.ru/component/search/?searchword=слово&searchphrase=all&Itemid=101

но при этом не видно результатов поиска, а видно шаблон главной страницы.

Но если из URL убрать "Itemid=101", т.е. так:
http://site.ru/component/search/?searchword=слово&searchphrase=all

то результаты поиска видно

Если зайти на http://site.ru/component/search/
и там ввести "слово", URL станет:
http://site.ru/component/search/?searchword=слово&ordering=newest&searchphrase=all

резутаты поиска видно.

в папке /templates/имя_темы/html
нет папок типа "com_search" или "mod_search"

В файле
/components/com_search/views/search/view.opensearch.php
вижу такой код

if (isset($items[0]))
{
	$searchUri .= '&Itemid=' . $items[0]->id;
}


пробовал добавить
if (isset($items[0])) {
	if ($items[0]->id != 101) { /* remove "Itemid=101" from url for main page */
		$searchUri .= '&Itemid=' . $items[0]->id;
	}
}

но не помогло (пробовал проверку и на 101 и на "101")...

получилось убрать "&Itemid=101" через JS:
var url = window.location.href;
if(url.indexOf("&Itemid=101") > -1) {
	url = url.replace("&Itemid=101", "");
	window.location.replace(url);
}

Но не очень радует дополнительная перезагрузка страницы...

Может кто-нибудь объяснить почему такое происходит, и как правильно решить эту проблему, чтобы результаты поиска отображались везде?
Либо если быть точным, что на главной конечно их негде отображать (в шаблоне), а значит нужен редиррект на site.ru/component/search?
  • Вопрос задан
  • 1731 просмотр
Решения вопроса 1
ruozaki
@ruozaki
Не забывайте отмечать верные ответы
Попробуйте сделать скрытый пункт меню для поиска
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы