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?
  • Вопрос задан
  • 1715 просмотров
Решения вопроса 1
ruozaki
@ruozaki
Не забывайте отмечать верные ответы
Попробуйте сделать скрытый пункт меню для поиска
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы