LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
26.05.2013, 11:59:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Убираем ошибку с дублированием id=current в стандартном mod_mainmenu  (Прочитано 3374 раз)
0 Пользователей и 1 Гость смотрят эту тему.
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7745


Севастополь==Россия


« : 15.02.2010, 15:40:25 »

Если на сайте используется несколько модулей меню на основе стандартного mod_mainmenu - мы получаем досадную ошибку валидации - для каждого активного пункта меню UL LI создается id="current" (в случае создания связанных меню, многоуровневых либо просто дублирование модуля)
Лечится просто - в файле templates/шаблон/html/mod_mainmenu/default.php (что это такое и что делать если такого файла нет - объяснять не буду, читаем документацию по шаблонизации движка) находим строку примерно 71
Код
$node->addAttribute('id', 'current');
и заменяем на
Код
$node->addAttribute('id', 'current'.$id);
Теперь у нас к каждому current добавляется идентификатор itemid и достигаем дзена в плане валидации страницы
Записан
 
Darkick
JComments Tester
*

Репутация: +239/-1
Offline Offline

Пол: Мужской
Сообщений: 1281



« Ответ #1 : 15.02.2010, 16:59:54 »

только если оформление пунктов сделано с учётом id="current" то придётся переделывать. Но там вроде ещё есть class="active"
Записан
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7745


Севастополь==Россия


« Ответ #2 : 15.02.2010, 17:09:07 »

только если оформление пунктов сделано с учётом id="current" то придётся переделывать. Но там вроде ещё есть class="active"
естественно, забыл упомянуть, сам обычно работаю через class="active"
Записан
Alldar
Тестеры
*****

Репутация: +147/-1
Offline Offline

Пол: Мужской
Сообщений: 1453



« Ответ #3 : 03.03.2010, 03:11:43 »

Можно ли этот id безболезненно вырезать вообще?
Записан
Russfox
Осваиваюсь на форуме
***

Репутация: +34/-0
Offline Offline

Пол: Мужской
Сообщений: 168



« Ответ #4 : 03.03.2010, 04:00:23 »

При верстке простых менюшек id="current" не нужен, особенно если активные ссылки не выделять
Но я обычно ul li#current.active использую. Без #current в некоторых случаях еще вроде в ie6 глючит, не помню уже, но как то сталкивался

#current дублируется вроде только при копирование меню, в других случаях не видел.

В связных меню можно "псевдоним" ссылки использовать.

Если пользоваться id="current" в CSS или js, то лучше избегать его дублирования. Если id="current" напрягает только в плане валидности и нигде не используется, то лучше его вобще не выводить, раз он не нужен.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet