(на забудте сделать бэкап файлов, которые будете изменять на случай ошибки и отката):
Вверху файла – модуля меню modules/mod_mainmenu.php заменить строку
global $Itemid, $mosConfig_live_site, $mainframe;
на строку:
global $Itemid, $mosConfig_live_site, $mainframe, $database;
Затем ниже заменить:
$mitem->name = stripslashes( ampReplace($mitem->name) );
switch ($mitem->browserNav) {
// различные события
case 1:
// открыть в новом окне
$txt = '<a href="'. $mitem->link .'" target="_blank" class="'. $menuclass .'" '. $id .'>'. $mitem->name .'</a>';
break;
case 2:
// открытие во всплывающем окне
$txt = "<a href=\"#\" onclick=\"javascript: window.open('". $mitem->link ."', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" class=\"$menuclass\" ". $id .">". $mitem->name ."</a>\n";
break;
case 3:
// это не ссылка
$txt = '<span class="'. $menuclass .'" '. $id .'>'. $mitem->name .'</span>';
break;
default:
// открытие в текущем окне
$txt = '<a href="'. $mitem->link .'" class="'. $menuclass .'" '. $id .'>'. $mitem->name .'</a>';
break;
}
На этот код:
// SEO-joomla hack START
$table_menu = "#__menu";
$query_title = "SELECT params" . "\n FROM $table_menu" . "\n WHERE id = $mitem->id";
$database->setQuery( $query_title );
$rows_sel = $database->loadResult();
preg_match("/link_title=(.+)/",$rows_sel,$matches);
if (empty($matches[1])) {
$link_title = htmlspecialchars(stripslashes($mitem->name));
}
else {
$link_title = htmlspecialchars(stripslashes($matches[1]));
}
switch ($mitem->browserNav) {
// различные события
case 1:
// открыть в новом окне
$txt = '<a href="'. $mitem->link .'" target="_blank" class="'. $menuclass .'" '. $id .' title="'. $link_title .'">'. $mitem->name .'</a>';
break;
case 2:
// открытие во всплывающем окне
$txt = "<a href=\"#\" onclick=\"javascript: window.open('". $mitem->link ."', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" class=\"$menuclass\" ". $id ." title=\"$link_title\">". $mitem->name ."</a>\n";
break;
case 3:
// это не ссылка
$txt = '<span class="'. $menuclass .'" '. $id .'>'. $mitem->name .'</span>';
break;
default:
// открытие в текущем окне
$txt = '<a href="'. $mitem->link .'" class="'. $menuclass .'" '. $id .' title="'. $link_title .'">'. $mitem->name .'</a>';
break;
}
// SEO-joomla hack END
После – во всех файлах
/administrator/components/com_menus/***folder***/***.menu.html.php
вставить эту дополнительную строчку в таблицу (я это сделал сразу после строки с названием ссылки):
<tr>
<td align="right"><SPAN
class=editlinktip><!-- Tooltip --><SPAN onmouseover="return overlib('Описание ссылки, которое видно при наведении курсора на нее (параметр ссылки title - улучшает SEO оптимизацию страницы).', CAPTION, 'Описание ссылки', BELOW, RIGHT);" onmouseout="return nd();">Описание ссылки</SPAN></SPAN></td>
<?
global $database;
$query_title = "SELECT params" . "\n FROM #__menu" . "\n WHERE id = $menu->id";
$database->setQuery( $query_title );
$rows_sel = $database->loadResult();
preg_match("/link_title=(.+)/",$rows_sel,$matches);
if (empty($matches[1])) {
$link_title = '';
}
else {
$link_title = $matches[1];
}
?>
<td><textarea class="text_area" name="params[link_title]" cols="30"><? echo $link_title; ?></textarea>
</td>
</tr>
Готово…