Разделы

  
 

Вспомогательное меню на страницах (на каждой свое)

Подскажите как реализовать подменю на страницах сайта? Т.е. есть основное горизонтальное меню, а есть вспомогательное боковое в конкретном разделе.
Например:
| раздел 1 | раздел 2 | раздел 3 |
-подраздел 1.1 -подраздел 3.1
-подраздел 1.2 -подраздел 3.2

Как реализовать подменю для одного раздела понятно
Создаем чанк {{RIGHT-MENU}}, в него добавляем [!Wayfinder? &startId=`1`!]
1- это айдишник раздела1

но для раздела3 мне нужно свое «уникальное» подменю, как это реализовать? id же мы указываем конкретного раздела, не создавать же для этого новый шаблон!!!
  • 0
  • 9 ноября 2011, 17:34
  • Xasanv
  • 6

MODx Revo 2.1.3 вывод сниппета Wayfinder [РЕШЕНО]

Возникла необходимость создать горизонтальное меню с колоночным выводом в под меню всех дочерних документов.

Вот скрин меню, которое я наверстал в html+css:


Первое что я делаю это вызов в нужном мне чанке MENU сниппета Wayfinder:
[[!Wayfinder? &level=`0` &startId=`0` &outerTpl=`outerTpl` &rowTpl=`rowTpl` &innerTpl=`innerTpl` 

&innerRowTpl=`innerRowTpl`]]




( Читать дальше )
  • 0
  • 3 октября 2011, 14:20
  • TuncaH
  • 20

Wayfinder - меню с разбивкой на ряды

Здравствуйте! :)

Вновь возникла задачка, которую я никак не могу решить.

Есть подменю
temp.bredova.ru/index.php?id=20
* Преимущества
* Оформление зала
* Шоу-программа
* Ведущие и артисты
* Спецэффекты
* Техническое обеспечение
* Фото- и видеосъемка

Его по задумке дизайнера нужно вывести в 2 ряда.
И все бы ничего, если бы не оформление этого меню :(
temp.bredova.ru/attachment.jpeg
temp.bredova.ru/attachment2.jpeg

Единственное решение, которое приходит на ум — это в админке, в дереве документов, разделить это подменю на две части и выводить каждую часть отдельно.
Но решение «топорное», которое сразу отразится в карте сайта.

Может есть что-то более изящное?
Я уже всю голову сломала :'(

UPD: EVO
Верстка:
<!-- sub1 -->
				<ul class="sub1">
					<li class="act"><a href="#">Преимущества</a></li>
					<li><a href="#">Оформление зала</a></li>
					<li><a href="#">Шоу-программа</a></li>
					<li><a href="#">Ведущие и артисты</a></li>
				</ul>

				<!-- sub2 -->
				<ul class="sub2">
					<li><a href="#">Спецэффекты</a></li>
					<li><a href="#">Спецэффекты</a></li>
					<li class="act"><a href="#">Фото- и видеосъемка</a></li>
					<li><a href="#">Техническое обеспечение</a></li>
				</ul>
  • 0
  • 8 августа 2011, 19:00
  • Elena
  • 14

Ламерский вопрос про Wayfinder

Как с самого начала не осилил так до сих пор тяну этот вопрос с собой.

Есть дерево документов.

---папка
------Поддокумент
------Поддокумент
------Поддокумент
------Поддокумент
---Папка
------Поддокумент
------Поддокумент
---ссылка на поддокумент
------Поддокумент
------Поддокумент

Хочу, чтобы когда смотришь поддокумент — папка выделялась другим цветом.
Запрос делаю такой, но «activeParentRowTpl» почему-то не работает. :(
[[Wayfinder? &startId=`1` &level=`1` &outerTpl=`wfouterTpl` &hereTpl=`wfHereTpl` &rowTpl=`wfrowTpl` &activeParentRowTpl=`wfactiveParentRowTpl`]]

Раскрывающееся меню + Wayfinder

Помогите, заблудилась в трех соснах.
Никак мне не совладать с Wayfinder.

Есть такое меню Accordion.

Нужно было реализовать здесь.

С двумя уровнями вложенности — все хорошо.

Как только появляется 2 контейнера — все, тушите свет.
Щелкните по третьему уровню меню и сами все увидите.

Вызов:
[!Wayfinder? &startId=`48` 
&outerTpl=`wf_outerTpl`
&rowTpl=`wf_rowTpl`  
&innerTpl=`wf_innerTpl` 
&innerRowTpl=`wf_innerRowTpl` 
&innerHereTpl=`wf_innerHereTpl` 
&activeParentRowTpl=`wf_activeParentRowTpl` 
&levelClass=`level`!]


wf_outerTpl
<ul id="menu5" class="example_menu">
[+wf.wrapper+]
</ul>


wf_rowTpl
<li><a class="collapsed">[+wf.linktext+]</a>[+wf.wrapper+]</li>
<li class="footer"><span> </span></li>


wf_innerTpl
<ul>[+wf.wrapper+]</ul>


wf_innerRowTpl
<li><a href="[+wf.link+]" title="[+wf.title+]"[+wf.classes+]>[+wf.linktext+]</a>[+wf.wrapper+]</li>


wf_innerHereTpl
<li class="active"><a href="[+wf.link+]" title="[+wf.title+]"[+wf.classes+]>[+wf.linktext+]</a>[+wf.wrapper+]</li>


wf_activeParentRowTpl
<li><a href="[+wf.link+]" title="[+wf.title+]" class="expanded" id="[+wf.classnames+]">[+wf.linktext+]</a>[+wf.wrapper+]</li>
<li class="footer"><span> </span></li>


Вот на последнем чанке все и ломается, ибо этот шаблон подставляется ко всем активным контейнерам.

Как заставить подставить class=«expanded» для активного контейнера первого уровня и не подставлять ничего для остальных?

CSS

#example5 {
	float: left;
}
.expand_all,
.collapse_all {
	cursor: pointer;
}
.example_menu {
	font-size: 90%;
	list-style: none;
	margin: 0;
	padding: 0;
	vertical-align: top;
	width: 536px;
}
.example_menu ul {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
}
#menu5 {
	margin: 0;
}

#menu5 li,
.example_menu li {
	background-image: none;
	margin: 0;
	padding: 0;
}
.example_menu ul ul {
	display: block;
}
.example_menu ul ul li a {
	padding-left: 20px;
	width: 509px;
}
.example_menu a {
	color: #000;
	cursor: pointer;
	display: block;
	font-weight: bold;
	margin-left: 0;
	padding: 2px 2px 2px 17px;
	width: 512px;
}
.example_menu a.expanded {
	background: #eee url('/image/collapse.gif') no-repeat 3px 50%;
}

.example_menu a.collapsed {
	background: #eee url('/image/expand.gif') no-repeat 3px 50%;
}
.example_menu a:hover {
	text-decoration: none;
}
.example_menu ul a{
	background: #e8e8e8;
	border-top: 2px solid #eee;
	color: #000;
	display: block;
	font-weight: normal;
	padding: 2px 2px 2px 10px;
	width: 519px;
}

.example_menu ul a:link {
	font-weight: normal;
}
.example_menu ul a:hover {
	background : #f5f5f5;
	text-decoration: underline;
}
.example_menu li.active a {
	background: #fff;
}
.example_menu li.active li a {
	background: #e8e8e8;
}

#menu5 li.footer,
.example_menu .footer {
	background: transparent url('/image/footer.jpg') no-repeat 0 0;
	border-top: 0px solid #fff;
	height: 9px;
	line-height: 15px;
	margin: 0 0 10px 0;
	width: 531px;
}
.example_menu .footer span {
	display: none;
}

#level2 {background:none; color:#C00;}


Попытки через css поправить ситуацию, подставляя id и прописывая его свойства — тоже ничего не дают.

У меня уже мозг закипает. Понимаю, что решение рядом, но я его уже не вижу :(
  • 0
  • 5 апреля 2011, 02:50
  • Elena
  • 3

Перевести Wayfinder с ul.li на dl.dt

Собственно, сабж.
Необходимо Wayfinder выводить в списках dl.
в dt выводим «parent», в dd «чилдрен».
В чанке у меня, так
[!Wayfinder? &startId=`0` &level=`2`!]


Отредактировал файл wayfinder.inc.php

if (empty($v) || !$templateCheck) {
                if ($n === 'outerTpl') {
                    $this->_templates[$n] = '<dl[+wf.classes+]>[+wf.wrapper+]</dl>';
                } elseif ($n === 'rowTpl') {
                    $this->_templates[$n] = '<dt[+wf.id+][+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]" [+wf.attributes+]>[+wf.linktext+]</a>[+wf.wrapper+]</dt>';
				} elseif ($n === 'startItemTpl') {
					$this->_templates[$n] = '<h2[+wf.id+][+wf.classes+]>[+wf.linktext+]</h2>[+wf.wrapper+]';
                } else {
                    $this->_templates[$n] = FALSE;
                }
				if ($this->_config['debug']) { $this->addDebugInfo('template',$n,$n,"No template found, using default.",array($n => $this->_templates[$n])); }
            }


в итоге выводит так
<dl>
<dt class="active"><a href="http://allznaika.ru/mod/" title="Главная" >Главная</a>
<dl>
<dt><a href="/mod/index.php?id=51" title="Автосервисы" >Автосервисы</a></dt>
<dt class="last"><a href="/mod/index.php?id=52" title="Партнеры" >Партнеры</a></dt>
</dl>
</dt>
<dt><a href="/mod/index.php?id=54" title="Запчасти" >Запчасти</a></dt>
<dt><a href="/mod/index.php?id=53" title="Услуги" >Услуги</a></dt>
<dt><a href="/mod/index.php?id=55" title="ГБО" >ГБО</a></dt>
<dt class="last"><a href="/mod/index.php?id=56" title="Контакты" >Контакты</a></dt>
</dl>


а необходимо, чтоб было так
<dl>
<dt class="active"><a href="" title="Главная" >Главная</a></dt>
  <dd><a href="/mod/index.php?id=51">Сервисы</a></dd>
  <dd class="last"><a href="/mod/index.php?id=52">Партнеры</a></dd>
</dl>


<dl>
<dt><a href="/mod/index.php?id=53">Услуги</a></dt>
</dl>
<dl>
<dt class="last"><a href="/mod/index.php?id=56" >Контакты</a></dt>
  <dd><a href="/mod/index.php?id=51">Схема проезда</a></dd>
  <dd class="last"><a href="/mod/index.php?id=52">Сообщение</a></dd>
</dl>

не могу понять куда поставить dd, или может есть другая альтернатива
  • 0
  • 29 декабря 2010, 14:14
  • scva
  • 8

вывод меню с чередованием класса

есть ли возможность вывода wayfinder-ом такого меню:

<li class="odd"><a href="/">BMW</a></li>
<li class="even"><a href="/">ВАЗ</a></li>
<li class="odd"><a href="/">ГАЗ</a></li>
<li class="even"><a href="/">УАЗ</a></li>

Два меню с одним Wayfinder

Добрый день господа!

Столкнулся с интересной проблемой. Недавно реализовывал сайт с двумя менюшками — горизонтальной и вертикальной. Горизонтальное — одноуровневое, вертикальное двухуровневое.
На картинке представлено дерево сайта:

В шаблоне я вызываю менюшки чанками [[$MenuHorizontal?]] и [[$MenuVertical?]]
MenuHorizontal:
[[!Wayfinder? &startId=`12` &level=`1` &hideSubMenus=`0` &outerTpl=`OuterH` &rowTpl=`RowH` &hereTpl=`RowActiveH` &hereClass=`activeH` ]]

MenuVertical:
[[!Wayfinder? &startId=`20` &level=`2` &hideSubMenus=`1` &outerTpl=`OuterV` &outerClass=`menuV` &rowTpl=`RowV` &hereTpl=`RowActiveV` &hereClasses=`activeV` &parentRowTpl=`FolderV` &parentRowHereTpl=`FolderActiveV` &innerTpl=`InnerV` &innerClass=`subV`  &innerRowTpl =`InnerRowV` &innerHereTpl=`InnerActiveV` ]]

Стартовая страница сайта, указанная в настройках — 26.

Собственно сам глюк очень странный. Если я кликаю по пунктам вертикального меню — все нормально, но стоит кликнуть по горизонтальному и вертикальное меню исчезает.

Добился постоянного отображения вертикального меню только выставив параметр &hideSubMenus равным 0 в чанке вызова этого меню. Но нужно что бы дочерние элементы прятались, если родитель не активен.

Как быть?

Помогите с wayfinder

Прочитав мануал я так и не понял, как создать меню с такой структурой в modx evo:
Есть ссылки, которые при помощи классов css имеют, разные картинки(к каждому классу своя картинка, в двух положения :link и :hover). Далее, при нажатии на одну из ссылок переход на следующую страницу с подменю(где тоже разные ссылки, как и в первом случаи с картинками.)
  • 0
  • 2 сентября 2010, 21:03
  • cokol89
  • 6

Вопрос по wayfinder

в общем столкнулся с такой проблемой, wifinder никак не заполняет переменную в outerTpl и innerTpl хотя в доках такие пункты прописаны
вот вызова wayfinder
[[Wayfinder?  &hereClass=`wer` &level=`3` &startId=`2` &outerTpl=`catalog-listOuter` &rowTpl=`catalog-listRow` &innerTpl=`catalog-listInner` &innerRowTpl=`catalog-listInnerRow` &showSubDocCount=`true`]]


на выходе получаю вот такой html

<ul id="catalog_list"><li><a href="#">Ножи</a><ul><li><a href="/suvenirnyie-nozhi/">- Сувенирные ножи [5]</a></li>
<li><a href="/skladnyie-nozhi.html">- Складные ножи [0]</a></li>
<li><a href="/oxotnichi-nozhi.html">- Охотничьи ножи [0]</a></li>
<li><a href="/vyikidnyie-nozhi.html">- Выкидные ножи [0]</a></li>
<li><a href="/metatelnyie-nozhi.html">- Метательные ножи [0]</a></li>
<li><a href="/speczialnyie-nozhi.html">- Специальные ножи [0]</a></li>
<li><a href="/nozhi-(rossiya).html">- Ножи (Россия) [0]</a></li>
<li><a href="/naboryi-nozhej.html">- Наборы ножей [0]</a></li>
<li><a href="/tramontina.html">- TRAMONTINA [0]</a></li>
<li><a href="/tochilki-dlya-nozhej.html">- Точилки для ножей [0]</a></li>
<li><a href="/multi-instrumentyi.html">- Мульти инструменты [0]</a></li>
</ul></li>
<li><a href="#">Посуда</a><ul><li><a href="/kruzhki-(stakanyi).html">- Кружки (стаканы) [0]</a></li>
<li><a href="/tarelki.html">- Тарелки [0]</a></li>
<li><a href="/flyagi.html">- Фляги [0]</a></li>
<li><a href="/lanch-boksyi.html">- Ланч боксы [0]</a></li>
</ul></li>
<li><a href="#">Товары для бани</a></li>
</ul>


если коротко то выглядит вот так

пункт 1
-подпункт 1
-подпункт 2
пункт 2
итд

хочу получать класс для подпункта когда в нем нахожусь, но ничего не прописывается как класс. Ничего не пойму, вот чанк outerTpl или InnerTpl

<ul [+wf.classes+] id="catalog_list">[+wf.wrapper+]</ul>


класс вообще никакой не прописывается, объясните, кто нибудь в чем дело
  • 0
  • 15 августа 2010, 14:58
  • versoul
  • 3