перерыв пол-инета в поисках нужного плагина, для создания аттрибута title для меню joomla, решил все бросить, и покопаться в исходниках, и изобрести велосипед
для левого меню (позиция меню left) необходимо в файле \modules\mod_mainmenu\tmpl\default.php после
- Код: Выделить всё
if (($node->name() == 'li') && ($id = $node->attributes('id'))) {
if ($node->attributes('class')) {
$node->addAttribute('class', $node->attributes('class').' item'.$id);
} else {
$node->addAttribute('class', 'item'.$id);
}
}
добавить
- Код: Выделить всё
if (($node->name() == 'a') && isset($node->span)) {
$parts=explode('::',$node->getElementByPath(span)->data());
$node->getElementByPath(span)->setData($parts[0]);
!$parts[1] or $node->addAttribute('title',$parts[1]);
}
для главного меню в стиле legacy необходимо в файле \modules\mod_mainmenu\legacy.php вместо
- Код: Выделить всё
default : // formerly case 2
// open in parent window
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '">' . $parts[0] . '</a>';
break;
}
прописать
- Код: Выделить всё
default : // formerly case 2
// open in parent window
$parts = explode('::', $mitem->name);
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . ' title="' . $parts[1] . '">' . $parts[0] . '</a>';
break;
}
Upd: забыл добавить, что названия меню (чтобы выводило title) теперь надо прописывать в виде название::title
два двоеточия используются, как разделитель. они не выводятся на сайте. Если не указывать двоеточие и title? то, соответственно, будет выводиться только название, без аттрибута title
https://www.forum-yandex.ru/viewtopic.php?f=27&t=168
https://joomlaforum.ru/index.php/topic,77554.0.html
Просмотров: 1093