1. Добавляем в админке поле для ввода title ссылки
путь: administrator/components/com_menus/views/item/tmpl/form.php
после
<tr>
<td class="key" align="right">
<?php echo JText::_( 'Alias' ); ?>:
</td>
<td>
<input class="inputbox" type="text" name="alias" size="50" maxlength="255" value="<?php echo $this->item->alias; ?>" />
</td>
</tr>
вставляй
<!-- хак title ссылки начало -->
<tr>
<td class="key" align="right">
<?php echo JText::_( 'Linktitle' ); ?>:
</td>
<td>
<input class="inputbox" type="text" name="linktitle" size="50" maxlength="255" value="<?php echo $this->item->linktitle; ?>" />
</td>
</tr>
<!-- хак title ссылки конец -->
1.1 Добавляем языковую переменную
путь: administrator/language/ru-RU/ru-RU.com_menus.ini
после
ALIAS=Псевдоним
вставляем
LINKTITLE=Title ссылки
2. Добавляем поле в базу данных, идем в phpMyAdmin и выполняем запрос (если меняли префик, то правим jos_menu на свойпрефикс_menu)
ALTER TABLE `jos_menu` ADD `linktitle` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;
3. Открываем файл \libraries\joomla\database\table\menu.php
после
class JTableMenu extends JTable
{
вставляем
4. Добавляем вывод titlr ссылки в лицевой части сайта
путь: modules/mod_mainmenu/helper.php
найти (360 строка):
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;
заменить на
default:
case 0:
// _top
if ($item->linktitle != null)
{
$data = '<a title="'.$item->linktitle.'" href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
} else {
$data = '<a title="'.$item->name.'" href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
}
break;
case 1:
// _blank
if ($item->linktitle != null)
{
$data = '<a title="'.$item->linktitle.'" href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
} else {
$data = '<a title="'.$item->name.'" 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);
if ($item->linktitle != null)
{
$data = '<a title="'.$item->linktitle.'" href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
} else {
$data = '<a title="'.$item->name.'" href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
}
break;
Для modules/mod_mainmenu/legacy.php
найти
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
заменить на
if ($mitem->linktitle != null)
{
$txt = '<a title="' . $mitem->linktitle . '" href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
} else {
$txt = '<a title="' . $mitem->name . '" href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
}