-
- 19 Posts
Здравствуйте.
Для начала немного лирики: такое ощущения, что все, кто впервые ставит MODX и иже с ними до этого имеет уже хорошей программерский опыт- все вопросы и ответы на этом форуме и вообще в интернете подразумевают некислый опыт (по крайней мере я читаю их в некоторой прострации). Я же немного с другого бока подрулил к MODX- изначально программить я ни на чем не умею, в силу сложившихся обстоятельств я осилил постепенно HTML, CSS, совсем чуть-чуть JavaScript, и еще меньше PHP (лучше сказать, что последние 2 не осилил, а научился чужие скрипты под себя корежить). Проще говоря, с перечисленными знаниями испытываю острую необходимость в тупом разборе на конкретном примере синтаксиса Wayfinder’а.
Читаю перевод документации по этому сниппету, в теории с скрипом могу понять что к чему, а как реально это написать- не могу представить.
Смысл моего воззвания: если есть где-нибудь разбор примеров создания разных меню на Wayfinder’е для тупых- киньте ссылкой, или помогите разобраться на таком примере:
имеется меню с эффектом разворачивания на javascript
код, который надо получить на выходе, выглядит так:
<div id="menu">
<ul>
<li><a href="#" onclick="openMenu(’sub_menu_1’);return(false)">menu 1</a>
<ul id="sub_menu_1">
<li><a href="#">sub menu 1</a></li>
<li><a href="#">sub menu 2</a></li>
</ul>
</li>
<li><a href="#" onclick="openMenu(’sub_menu_2’);return(false)">menu 2</a>
<ul id="sub_menu_2">
<li><a href="#">sub menu 1</a></li>
<li><a href="#">sub menu 2</a></li>
</ul>
</li>
<li><a href="#" onclick="openMenu(’sub_menu_3’);return(false)">menu 3</a>
<ul id="sub_menu_3">
<li><a href="#">sub menu 1</a></li>
<li><a href="#">sub menu 2</a></li>
</ul>
</li>
</li>
</ul>
</div>
Что нужно ставить в темплейте между<div></div>?
Основная сложность- как добавить для <li> первого порядка такую хрень в атрибуты к <a>: onclick="openMenu(’sub_menu_1’);return(false)"?
ну и как id для <ul> первого порядка задать?
Если не сложно- как тупому, полный код. Спасибо заранее.
-
- 19 Posts
Спасибо на добром слове. если ссылка не поможет- ничего, если я здесь уточню чуть-чуть вопросик?
-
- 19 Posts
Честно поковырялся, такие возникли вопросы: имеем следующую строчку-
[[Wayfinder? &startId=`0` &level=`2` &hideSubMenus=`0` &outerTpl=`wfOuter` &rowTpl=`wfRow` &hereTpl=`wfHere`]]
Насколько я понял, это дело можнорасшифровать примерно так: меню на вайфандере, начальная директория- корневая, углубляемся на 2 уровня, подменю не прячем, вывод разделов меню обрабатывает чанк wfOuter`, пункты меню обрабатывает чанк wfRow, текущий пункт меню- чанк wfHere.
А где перечисленные чанки искать, чтобы хоть понять, что там в них понаписано- фиг знает. Зашел в Ресурсы-Управление ресурсами-Чанки ничего из перечисленного выше там не нашел.
По ссылке на muddydogpaws не совсем понятно следующее:
в разделе примеров под пунктом "используемые чанки" идет строчка, например:
&parentRowTpl=`cssplay_parentRow`
а дальше собственно код. Так вот это самое &parentRowTpl=`cssplay_parentRow`- это название чанка такое длинное или где-то нужно его таким образом прописать? Извините, все, в принципе, можно понять но вопрос, посторяю, чисто в синтаксисе- где что и каким образом нужно писать...
Спасибо всем откликнувшимся заранее.
-
- 90 Posts
чанк это html код. вот когда создаете чанк, там и пишете в html все, что захотите))
-
- 742 Posts
В данном случае (да и вообще чаще всего в MODx) чанки испольузются как шаблоны для форматирования вывода сниппета (в случае с Wayfinder — это меню или его ранзные пункты в различных состояниях).
Почти каждый сниппет форматирует свой вывод на основе внутренних шаблонов (зашитых в его код — это шаблоны по умолчанию). Если вы ходите как-то изменить вывод, то переопределяете нужный вам шаблон (например, &parentRowTpl) и оформляете в нём всё по своему усмотрению — расставляете нужные плейсхолдеры (paceholders) в нужном порядке и обвешиваете их html тегами.
-
- 19 Posts
Спасибо за ответ. Вопрос конкретный- как и где прописать мой чанк? Предположим, что упомянутые чанки wfOuter`, wfRow, wfHere- стандартные, поэтому их в ресурсах не видно (хотя они где-то есть, просто их не высвечивают, потому как они системные и править их по-любому не дадут), но вот захотел я, чтобы вывод разделов меню обрабатывал не чанк wfOuter (из моего примера по умолчанию), а написанный мой MyOuter. Я в разделе чанков создаю этот самый чанк MyOuter, а в темплейте пишу [[Wayfinder? &startId=`0` &level=`2` &hideSubMenus=`0` &outerTpl=`MyOuter`]]?
Так что-ли?
-
- 742 Posts
Вы и сами замечтаельно ответили на свой вопрос.
Создаёте чанк и руководствуясь документацией к сниппету расставляете в этом чанке плейсхолдеры доступные для шаблона в качестве которого вы его используете.
-
- 19 Posts
Так, дело обучения по-тихоньку продвигается (за что всем принявшим в обсуждении участие спасибо). Такой конкретный вопрос, в модексе есть понятие "позиция в меню". каким волшебным заклинанием описать это в чанках?
мне эта штукенция нужна, чтобы на выходе автоматом прописывалось "sub_menu_Х", где Х- как раз позиция в меню.
То есть нужно получить в результате код ниже:
<li><a href="#" onclick="openMenu(’sub_menu_1’);return(false)">menu 1</a>
<ul id="sub_menu_1">
<li><a href="#">sub menu 1</a></li>
<li><a href="#">sub menu 2</a></li>
</ul>
</li>
<li><a href="#" onclick="openMenu(’sub_menu_2’);return(false)">menu 2</a>
<ul id="sub_menu_2">
<li><a href="#">sub menu 1</a></li>
-
- 19 Posts
Блин, второй день голову ломаю- решения не найдено (боюсь, что тут надо пользоваться какими-нибудь новинками для меня, тип TV- без разбора на примере вообще не могу представить, что это такое). Подскажите, плиз, как в посте выше задать порядковый номер для каждого пункта- родителя (sub_menu_Х, где Х- порядковый номер пункта-родителя). Причем, номер этот для каждого раздела меню надо проставить в 2-х местах (в блоках <ul> и <li>). Нашел такую тему- [*menuindex*], но она выводит для всех пунктов меню одинаковый номер- текущей страницы. Хелп!!!