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

 

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

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

<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>
Меню

Главная

Компьютерная помощь
Ремонт компьютеров
Ремонт ноутбуков
Заправка картриджей

Сис-админу

Ноутбуки (11)
Windows (22)
*nix (1)

Веб-мастеру

HTML (7)
CSS (10)
Java Script (2)
XML (2)
DLE (2)
Joomla (17)
ModX (1)
Drupal (1)

Контакты


+7 (904) 214 82 20
подробнее