Вывод различных модулей привязывается к пунктам меню, а не к компонентам или другим модулям.
То, к какому пункту меню привязан модуль, определяется с помощью переменной
Itemid, которая автоматом назначается для каждого пункта меню. Таким образом системе легко определить, к какому пункту меню привязан модуль. Значения этих переменных вы и сообщаете ей, когда выбираете пункты меню из списка "
назначение меню/Выбор меню/Выбрать из списка".
Проблема состоит в том, что когда вы нажимаете на кнопку "
Искать", или "
Регистрация", вы не нажимаете на какой-либо пункт меню. По этому все привязки не работают.
К счастью, в модуле "
com_search" есть возможность указать
Itemid, к которому будет привязана страница с результатами поиска.
И так, что бы вам привязать ваше левое меню к результатам поиска, вам нужно подставить такое значение
Itemid, что бы система думала, что вы перешли на эту страницу по пункту меню, к которому привязано это самое левое меню.
Что бы узнать
Itemid этого пункта меню, перейдите на сайте на страницу, где отображается именно тот блок в левом меню, который вы хотели бы видеть при просмотре результатов поиска. В строке адреса, которая будет выглядеть приблизительно так:
http://сайт.ру/index.php?option=com_content&view=article&id=26&Itemid=43
находите эту часть
Это и есть значение этой переменной. Теперь идёте в админку "
Расширения ->
Менеджер модулей ->
com_search" и в поле
Itemid прописываете это значение. Теперь при поиске у вас слева будет отображаться нужный блок.
Насчёт же регистрации и напоминания пароля - настройками через админку у меня не получилось добиться нужного результата.
Есть очень некрасивый и грубый способ, которым можно это сделать. Я его приведу, а вы решайте сами, использовать вам его или нет.
Сначала узнаёте нужный
Itemid.
Ищете файл
корень Joomla/modules/mod_login/tmpl/default.php
открываете
ищете вот эту строку
она у меня под номером 55
<a href="<?php echo JRoute::_( 'index.php?option=com_user&view=reset' ); ?>">
заменяем на
<a href="<?php echo JRoute::_( 'index.php?option=com_user&Itemid=>>>ВАШ Itemid<<<&view=reset' ); ?>">
дальше по тексту:
<a href="<?php echo JRoute::_( 'index.php?option=com_user&view=remind' ); ?>">
меняем на
<a href="<?php echo JRoute::_( 'index.php?option=com_user&Itemid=>>>ВАШ Itemid<<<&view=remind' ); ?>">
ну и
<a href="<?php echo JRoute::_( 'index.php?option=com_user&view=register' ); ?>">
меняем на
<a href="<?php echo JRoute::_( 'index.php?option=com_user&Itemid=>>>ВАШ Itemid<<<&view=register' ); ?>">
Но этого будет достаточно только для первых страниц восстановления пароля/логина и регистрации. Что бы на протяжении всей процедуры отображались нужные блоки, т.е. что бы в ссылку дописывалась
Itemid, нужно будет поковырять шаблоны компонента
com_userИдём в
корень Joomla/components/com_user/views/
дальше выбираем что будем править. Начнём с папки
remind - это напоминание логина.
Открываем
корень Joomla/components/com_user/views/remind/tmpl/default
ищем где начинается форма
<form action="<?php echo JRoute::_( 'index.php?option=com_user' ); ?>" method="post" id="josForm" name="josForm" class="form-validate">
и меняем на что то вроде
<form action="<?php echo JRoute::_( 'index.php?option=com_user&Itemid=>>>НАШ Itemid<<<[/u]' ); ?>" method="post" id="josForm" name="josForm" class="form-validate">
так же нужно поступить со всеми папками в каталоге
корень Joomla/components/com_user/views/
ну или почти со всеми.
Повторюсь, этот метод грязный и очень грубый, но он может дать желаемый результат.
Надеюсь чем то помог. Вы уж извините за многословие, хотел разжевать всё до мелочей.