0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 2368 Просмотров
*

cheni

  • Захожу иногда
  • 192
  • 1 / 0
нашел такой вариант решения

Цитировать
Как известно, ссылки в модуле mod_mainmenu формируются в файле \modules\mod_mainmenu\helper.php, а именно с помощью функции _getItemData в следующих строчках
Код
switch ($tmp->browserNav)
{
default:
case 0:
// _top
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
break;
case 1:
// _blank
$data = '<a href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
break;
case 2:
// window.open
$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->_params->get('window_open');
// hrm...this is a bit dickey
$link = str_replace('index.php', 'index2.php', $tmp->url);
$data = '<a href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
break;
}

Нас интересует только первый вариант.
Для решения задачи используем сравнение id активного пункта меню с id текущего пункта и меню и соответствующий вывод текста и ссылки (при совпадении и несовпадении):
Код
case 0:
// _top
if (JSite::getMenu()->getActive()->id == $item->id){
$data = $tmp->url.$image.$tmp->name;
} else {
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
}
break;


у меня после подобной правки выдет следующую ошибку:
Fatal error: Call to a member function name() on a non-object in /home/ndn/antiperspirant.in.ua/www/templates/10/html/mod_mainmenu/default.php on line 26

Как решить таки проблему?

*

Fedor Vlasenko

  • Живу я здесь
  • 3803
  • 709 / 7
  • Все начинается с Value
case 0:
// _top
if (JSite::getMenu()->getActive()->id == $tmp->id){
   $data = $image.$tmp->name;
} else {
   $data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
}
break;
*

cheni

  • Захожу иногда
  • 192
  • 1 / 0
то же самое происходит...
Fatal error: Call to a member function name() on a non-object in /home/ndn/antiperspirant.in.ua/www/templates/10/html/mod_mainmenu/default.php on line 26
*

passer

  • Давно я тут
  • 882
  • 73 / 3
У него templates/10/html/mod_mainmenu/default.php шаблон модуля в шаблоне сайта переопределен. И что там за name одному богу известно.
*

passer

  • Давно я тут
  • 882
  • 73 / 3
Переключитесь на какой-то стандартный шаблон и проверьте снова.
*

cheni

  • Захожу иногда
  • 192
  • 1 / 0
вы правы, на стандартном работает....
 как быть с нестандартным?
*

voland

  • Легенда
  • 9919
  • 547 / 107
  • Эта строка съедает место на вашем мониторе
А зачем??
Если не нужна подсветка, то удалить лишние строчки в CSS
*

passer

  • Давно я тут
  • 882
  • 73 / 3
вы правы, на стандартном работает....
 как быть с нестандартным?
Код шаблона смотреть надо. Готового ответа нет. Попробуйте через коммерческий раздел. Не думаю что дорого будет.
А зачем??
Если не нужна подсветка, то удалить лишние строчки в CSS
Но ссылка останется.
*

voland

  • Легенда
  • 9919
  • 547 / 107
  • Эта строка съедает место на вашем мониторе
А.. в смысле сделать не ссылкой.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пункт меню

Автор s120367

Ответов: 0
Просмотров: 155
Последний ответ 03.06.2018, 13:02:55
от s120367
Большое меню Joomla

Автор Amakeeva

Ответов: 1
Просмотров: 352
Последний ответ 22.01.2018, 13:17:45
от effrit
Как можно отображать имя пользователя в название меню?

Автор selimoff

Ответов: 27
Просмотров: 3410
Последний ответ 02.01.2018, 15:24:44
от logan-19
как сделать пункт меню не кликабельным?

Автор qweqweqwe

Ответов: 13
Просмотров: 6262
Последний ответ 07.09.2017, 01:45:49
от forzi
Сдвинуть пункты меню в левое положение

Автор wectra

Ответов: 6
Просмотров: 617
Последний ответ 12.07.2017, 21:09:01
от wectra