Я говорю о функции modMainMenuXMLCallback, через которую прогоняются все элементы меню
Отлавливаем элемент "a", вытягиваем текст из нее, делим по нашему разделителю(как в примере :: ), часть сохраняем, а часть добавляем в атрибут title. немножко трудней может, но реализовать возможно.
А вот статья меня реально шокировала. сколько возился с mod_mainmenu, а о такой фишке, как переопределение helper-а даже не догадывался)
Проблема в том что функция не получает html-код сссылки, в параметрах есть только название пункта, а преобразование в HTML происходит уже на уровне helper.php, а именно
switch ($tmp->browserNav)
{
default:
case 0:
// _top
$data = '<a title="'.$tmp->title.'" href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
break;
case 1:
// _blank
$data = '<a title="'.$tmp->title.'" 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 title="'.$tmp->title.'" href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
break;
}
Причем
title=
в оригинальном helper.php отсутвует, таким образом перехватывая на уровне default.php мы можем поменять название (то, что внутри span) но никак не получится добавить генерацию тайтла.