Как убрать ссылку с активного пункта меню Joomla
Считается что для SEO полезным является отсутствие ссылки на пункте меню, который в данный момент является активным.Давайте вместе посмотрим как можно реализовать вывод активного пункта меню текстом. т.е. без ссылки. Так вот. Как известно, ссылки в модуле 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;
Как убрать ссылку с активного пункта меню Joomla - Генератор расширений Joomla и многое другое на нашем сайте посвященном работе расширений, компонентов, модулей, плагинов для линейки Joomla. Отправляйте ссылку на страницу своим друзьям и в социальные сети воспользовавшись графическими иконками выше.