Стиль для ячейки таблицы, содержащей активный пункт меню

 

В некоторых ситуациях, при оформлении меню возникает необходимость задания стиля не только для ссылки пункта меню, но и для ячейки таблицы, в которой эта ссылка расположена.

В обычном виде, в общем случае, вертикальное меню выглядит следующим образом:

<table cellpadding="0" cellspacing="0" class="moduletable-mainmenu">
   <tr>
      <td>
         <table width="100%" border="0" cellpadding="0" cellspacing="0">
         <tr align="left"><td><a href="/..." class="mainlevel" >Пункт меню</a></td></tr>
         <tr align="left"><td><a href="/..." class="mainlevel" id="active_menu" >Пункт меню</a></td></tr>
         <tr align="left"><td><a href="/..." class="mainlevel" >Пункт меню</a></td></tr>
         </table>
      </td>
   </tr>
</table>


К сожалению, разработчики не придусмотрели возможность задания особого стиля для ячейки таблицы, содержащей активный пункт меню (т.е. для тега TD из строки <tr align="left" /><td /><a ...).

Самостоятельно сделать это можно в файле modules/mod_mainmenu.php.
Найдите функцию mosRecurseVIMenu, а в ней строку:

echo "\n".$indents[$n][1];


И замените ее на строку:

echo "\n".(in_array($row->id, $open) ?  str_replace('<td>', '<td class="active_menubloсk">', $indents[$n][1]) : $indents[$n][1]);


Это позволит добавить для ячейки, содержащей активный пункт меню, название класса и привести таблицу меню к следующему виду:

<table cellpadding="0" cellspacing="0" class="moduletable-mainmenu">
   <tr>
      <td>
         <table width="100%" border="0" cellpadding="0" cellspacing="0">
         <tr align="left"><td><a href="/..." class="mainlevel" >Пункт меню</a></td></tr>
         <tr align="left"><td class="active_menubloсk"><a href="/..." class="mainlevel" id="active_menu" >Пункт меню</a></td></tr>
         <tr align="left"><td><a href="/..." class="mainlevel" >Пункт меню</a></td></tr>
         </table>
      </td>
   </tr>
</table>
Меню

Главная

Компьютерная помощь
Ремонт компьютеров
Ремонт ноутбуков
Ремонт планшетов
Ремонт apple
Веб-мастерская
Заправка картриджей

Веб-мастеру

HTML (1)
CSS (8)
Java Script (2)
PHP
XML (2)
DLE (2)
Joomla (17)
ModX (1)
WordPress
Drupal (1)

Сис-админу

Windows (18)
*nix (1)
Apple (1)

Контакты

Eduard L.
ICQ: 298-066-983
e-mail: edd15@mail.ru
skype: edduard36
tel: +7 (904) 214 82 20
подробнее


Панель управления

Not registered?