Вы не зашли.
Страницы 1
Я начинающий (делаю первый сайт на этой CMS), поэтому просьба сильно ногами не пинать.
Есть задумка сделать левое меню категорий через список (стандартное решение). Вот примерная структура что есть:
- 1
- - 1.1.
- - 1.2.
- 2
- - 2.1.
- - 2.2.
- 3
-- 3.1.
-- 3.2.
Хотелось бы реализовать это так. Допустим пользователь находится на 1 странице. Тогда выводилось бы меню так
<ul class="left-menu">
<li><a class="active" href="1.html">1</a>
<ul>
<li><a href="1.html">1.1</a></li>
<li><a href="1.html">1.1</a></li>
</ul>
</li>
<li><a href="1.html">2</a></li>
<li><a href="1.html">3</a></li>
</ul>
То есть при нахождении на определенном пункте меню раскрывается ветка (если она есть), а на не активных пунктах сворачивается.
Если же так нельзя сделать, то можно ли вывести полную структуру меню.
В документации есть тег {mark}, но это явно не то. Тег {level} выводит лишь число. Судя по всему тут или в ядре нужно копаться или плагин под себя писать?
Не в сети
Jean179, походу это проблема не в ядре, а в знании css
Ух ты же! А пацаны то и не знали, что конструкцию
<ul>
<li>
<ul>
<li><a></a></li>
</ul>
</li>
</ul>
можно прописать в css стилях!:/ Вам самому не смешно? Или вы не разобрались в том, что я написал выше?
Я достаточно грамотен, чтобы прописать стили в отступы и скрыть "-":rolleyes:. Но проблему семантической верстки это не решит . Как и не решит проблему вывода меню из категорий динамически раскрывающуюся. Я понимаю, что можно попробовать решить это "per rectum": через шаблоны категорий и через руками заданные ссылки в шаблоне. Как вариант еще написать костыли в виде javascript. Но это совсем не то, что реализовать это с помощью штатных средств, заложенных в большинстве других CMS.
более того чтото подобное нераз даже тут на форуме приводилось, надо просто поискать
Спасибо, я порылся по форуму. Что-то более похожее на ответ я нашел только в плагине menu_pro. И то, там нет в полном объеме нужного мне функционала.
Не в сети
Jean179, значет вы недостаточно грамотно или понятнее всем написали, так как то что в первом посту написано делается css. Возможно я действительно както не так, как вы, это понял, ну уж извините я ж не телепат...
Не в сети
Хм. Ладно. Попробую еще раз.
Есть структура
Категория 1
Подкатегория 1
Подкатегория 2
Подкатегория 3
Категория 2
Подкатегория 4
Подкатегория 5
Подкатегория 6
То есть все категории разнесены в 2-х двухуровневое дерево. Что мне нужно:
1. Вывести при помощи вложенных ненумерованных списков это дерево в левую колонку. Пример для вывода приведенного дерева:
<ul>
<li>
<a class="active" href="1.html">Категория 1</a>
<ul>
<li><a href="1-1.html">Подкатегория 1</a></li>
<li><a href="1-2.html">Подкатегория 2</a></li>
<li><a href="1-3.html">Подкатегория 3</a></li>
</ul>
</li>
<li>
<a href="2.html">Категория 2</a>
<ul>
<li><a href="2-4.html">Подкатегория 4</a></li>
<li><a href="2-5.html">Подкатегория 5</a></li>
<li><a href="2-6.html">Подкатегория 6</a></li>
</ul>
</li>
</ul>
Мне видится, что это возможно с плагином построения карты сайта с обрезкой в настройках/коде плагина.
2. Усложним задачу. Нужно динамическое меню.
Вот пример:
Допустим мы находимся в категории 1, тогда выводится
<ul>
<li>
<a class="active" href="1.html">Категория 1</a>
<ul>
<li><a href="1-1.html">Подкатегория 1</a></li>
<li><a href="1-2.html">Подкатегория 2</a></li>
<li><a href="1-3.html">Подкатегория 3</a></li>
</ul>
</li>
<li>
<a href="2.html">Категория 2</a>
</li>
</ul>
При переходи вглубь мы получаем следующее:
<ul>
<li>
<a href="1.html">Категория 1</a>
<ul>
<li><a class="active" href="1-1.html">Подкатегория 1</a></li>
<li><a href="1-2.html">Подкатегория 2</a></li>
<li><a href="1-3.html">Подкатегория 3</a></li>
</ul>
</li>
<li>
<a href="2.html">Категория 2</a>
</li>
</ul>
Так, а при переходе в категорию 2 сворачивается меню категории 1 и разворачивается меню 2
<ul>
<li>
<a href="1.html">Категория 1</a>
</li>
<li>
<a class="active" href="2.html">Категория 2</a>
<ul>
<li><a href="2-4.html">Подкатегория 4</a></li>
<li><a href="2-5.html">Подкатегория 5</a></li>
<li><a href="2-6.html">Подкатегория 6</a></li>
</ul>
</li>
</ul>
Ну и так далее. Мне видится, что пока 2 уровней достаточно для построения достаточно сложной структуры.
Предвижу сразу решение через CSS - выполнить вывод отступов в зависимости от уровня. Это не то! Получится, что есть куча ссылок, которые переносятся каждая на новую строку, что не очень воспринимается поисковыми системами. Да и в этом случае динамически скрывать неактивные ветки меню невозможно. Единственное что приходит в голову - это плагины на jQuery, которые что-то подобное делали. Но мне не хотелось бы настолько сильно заморачиваться, что бы для решения такого простого вопроса перелопачивать интернет и тратить 1-2 дня на поиски и столько же для допиливания скрипта под себя.
Второе, что мне приходит в голову - это в шаблоне вывести все дерево и без подсветки активной категории/подкатегории реальизовать руками меню. Но, опять же, не реализован 2 пункт хотелки - динамику. Реализовать в какой-то мере динамику можно будет с помощью разных шаблонов категорий для вывода меню с реализацией опять же руками. Это мне так же не хочется делать.
В моем понимании CMS служит для облегчения сопровождения сайта, а что это будет за сопровождение, если все это придется делать руками.
Надеюсь сейчас я объяснил понятно? Буду рад любым предложениям как сделать сии задумки.
Не в сети
Во! Практически оно! Хотя и не полностью. Спасибо.
Не в сети
Страницы 1