Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2011-09-09 15:08:09

Jean179
Участник
Откуда Анапа
Зарегистрирован: 2010-01-17
Сообщений: 8
Рейтинг :   
Сайт

Помогите с меню

Я начинающий (делаю первый сайт на этой CMS), поэтому просьба сильно ногами не пинать. wink
Есть задумка сделать левое меню категорий через список (стандартное решение). Вот примерная структура что есть:
- 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} выводит лишь число. Судя по всему тут или в ядре нужно копаться или плагин под себя писать?

Не в сети

#2 2011-09-09 15:18:19

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: Помогите с меню

Jean179, походу это проблема не в ядре, а в знании css
более того чтото подобное нераз даже тут на форуме приводилось, надо просто поискать

Изменено legenda (2011-09-09 15:19:49)

Не в сети

#3 2011-09-09 20:27:24

Jean179
Участник
Откуда Анапа
Зарегистрирован: 2010-01-17
Сообщений: 8
Рейтинг :   
Сайт

Re: Помогите с меню

legenda пишет:

Jean179, походу это проблема не в ядре, а в знании css

Ух ты же! А пацаны то и не знали, что конструкцию

<ul>
  <li>
    <ul>
      <li><a></a></li>
    </ul>
  </li>
</ul>

можно прописать в css стилях!:/ Вам самому не смешно? Или вы не разобрались в том, что я написал выше?
Я достаточно грамотен, чтобы прописать стили в отступы и скрыть "-":rolleyes:. Но проблему семантической верстки это не решит wink. Как и не решит проблему вывода меню из категорий динамически раскрывающуюся. Я понимаю, что можно попробовать решить это "per rectum": через шаблоны категорий и через руками заданные ссылки в шаблоне. Как вариант еще написать костыли в виде javascript. Но это совсем не то, что реализовать это с помощью штатных средств, заложенных в большинстве других CMS. cool

legenda пишет:

более того чтото подобное нераз даже тут на форуме приводилось, надо просто поискать

Спасибо, я порылся по форуму. Что-то более похожее на ответ я нашел только в плагине menu_pro. И то, там нет в полном объеме нужного мне функционала.

Не в сети

#4 2011-09-09 21:08:28

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: Помогите с меню

Jean179, значет вы недостаточно грамотно или понятнее всем написали, так как то что в первом посту написано делается css. Возможно я действительно както не так, как вы, это понял, ну уж извините я ж не телепат...

Не в сети

#5 2011-09-09 21:53:55

Jean179
Участник
Откуда Анапа
Зарегистрирован: 2010-01-17
Сообщений: 8
Рейтинг :   
Сайт

Re: Помогите с меню

Хм. Ладно. Попробую еще раз.
Есть структура
Категория 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 уровней достаточно для построения достаточно сложной структуры. smile

Предвижу сразу решение через CSS - выполнить вывод отступов в зависимости от уровня. Это не то! Получится, что есть куча ссылок, которые переносятся каждая на новую строку, что не очень воспринимается поисковыми системами. Да и в этом случае динамически скрывать неактивные ветки меню невозможно. Единственное что приходит в голову - это плагины на jQuery, которые что-то подобное делали. Но мне не хотелось бы настолько сильно заморачиваться, что бы для решения такого простого вопроса перелопачивать интернет и тратить 1-2 дня на поиски и столько же для допиливания скрипта под себя.

Второе, что мне приходит в голову - это в шаблоне вывести все дерево и без подсветки активной категории/подкатегории реальизовать руками меню. Но, опять же, не реализован 2 пункт хотелки - динамику. Реализовать в какой-то мере динамику можно будет с помощью разных шаблонов категорий для вывода меню с реализацией опять же руками. Это мне так же не хочется делать.

В моем понимании CMS служит для облегчения сопровождения сайта, а что это будет за сопровождение, если все это придется делать руками.

Надеюсь сейчас я объяснил понятно? Буду рад любым предложениям как сделать сии задумки. cool

Не в сети

#6 2011-09-09 22:48:11

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Помогите с меню

http://ngcms.ru/forum/viewtopic.php?id=1274

Не в сети

#7 2011-09-10 07:42:13

Jean179
Участник
Откуда Анапа
Зарегистрирован: 2010-01-17
Сообщений: 8
Рейтинг :   
Сайт

Re: Помогите с меню

Во! Практически оно! Хотя и не полностью. Спасибо.

Не в сети

Подвал раздела

Работает на FluxBB