<xsl:attribute name="class"><xsl:value-of select="document(concat('upage://' , @id))//group[@name = 'more_params_for_menu']/property[@name = 'class_menu']/value" /></xsl:attribute>
<xsl:template match="udata[@module = 'content' and @method = 'menu']//item">
Теперь осталось немного подпилить шаблон для меню сайта, и получим окончательный результат. Для этого открываем наш шаблон с меню, который находится в папке ~/xsltTpls/modules/content и называется menu.xsl и правим блок item.
В итоге у нас есть группа "Дополнительные параметры для меню", идентификатор которой я изменил на "more_params_for_menu", и "Поле" с идентификатором "class_menu". Основные приготовления в админке закончены. Теперь если мы зайдем в редактирование страницы контента или попробуем создать новую страницу, то увидим наше дополнительное поле, куда и нужно будет прописать название класса для CSS.
Дальше для "Типа данных" - "Страница контента" добавляем новую группу. Назовем эту новую группу "Дополнительные параметры для меню" (хотя как Вы назовете это уже Ваше дело). И в этой группе добавляем новое поле. Ну... пускай это будет "класс меню" и ставим "Тип" - "Строка".
И вот теперь самое интересное. У самой UMI стандарто данного функционала нет, но это можно поправить. Для этого в админке сайта идем Модули->Шаблоны данных.
<li class=""><a>Четвертый пункт меню</a></li>
<li class="this_linck"><a>Третий пункт меню</a></li>
<li class="l_i_n_c_k"><a>Второй пункт меню</a></li>
<li class="linck1"><a>Первый пункт меню</a></li>
А нам нужно сделать так, чтоб для каждой ссылки мы могли прописать свой класс, и оформить его через CSS. Например вот так
<li><a>Четвертый пункт меню</a></li>
<li><a>Третий пункт меню</a></li>
<li><a>Второй пункт меню</a></li>
<li><a>Первый пункт меню</a></li>
Первый пункт менюВторой пункт менюТретий пункт менюЧетвертый пункт менюили в виде кода:
Итак, что у нас есть. Меню, в виде ненумерованного списка, т.е. например такого вида:
Меню для UMI.CMS. Разные классы для ссылок в менюДля чего это может понадобится? Ну например у Вас есть меню, которое сформированно в одном ненумерованном списке, а надо некоторые пункты этого меню оформить как-то иначе, чем всё остальное меню. Если кому-то не понятно сейчас всё поясню.
Пример случайной работы по созданию сайта:
Меню для UMI.CMS. Разные классы для ссылок в меню. Стилизация пунктов меню средствами CSS. | Bashev.Ru
Комментариев нет:
Отправить комментарий