Могу ли я создать меню с подменю в Agile Toolkit?

Документация по классу меню и предоставленный пример, похоже, не показывают мне никакого способа построить меню навигации с более чем 1 уровнем навигации.

Что мне делать, если я хочу создать меню в стиле приложения, например, «Файл» или «Правка», которое будет включать в себя подменю? Есть ли способ создать это автоматически с помощью Agile Toolkit, или это что-то, что нужно было бы закодировать вручную с помощью шаблонов html, файлов css и т. д.?


person Knud Potente    schedule 19.09.2011    source источник


Ответы (2)


по умолчанию такого компонента нет - однако View "plug'n'play" работает и для меню

вот один из примеров двухуровневого подменю из реальной жизни: .gradpool.ie/gradmatcher/grad/company.html?id=38

идея в том, что меню построено, а выпадающие списки — это еще одни объекты меню, вставленные в пункты меню.


для этого создан аддон, читайте здесь: http://www.ambienttech.lv/blog/2012-07-06/tree_view_in_agile_toolkit.html

person jancha    schedule 19.09.2011
comment
Можете ли вы привести пример кода, я пытался захватить идентификатор, например $m=add('Menu_Basic',null,'Menu'); а затем захватить идентификатор добавленного элемента $sm=$m-›addMenuItem('SubMenu',null); а затем добавьте элемент в подменю с помощью $sm-›addMenuItem('Item','pagename'); но, похоже, это не работает из коробки. - person Trevor North; 06.07.2012
comment
Хорошо, я проверил код - извините, он больше не подходит для 4.2 - подход, который я предложил выше, возможен с использованием Menu/Compat.php. позвольте мне подумать о действительной альтернативе. - person jancha; 06.07.2012
comment
Я отказался от попыток расширить Menu_Basic или Menu_Light и выбрал подход просмотра, который нормально работает в 4.1.3. Спасибо - person Trevor North; 07.07.2012

Я бы предложил использовать свой собственный CSS вместе с Menu_Light, который предназначен для того, чтобы как можно больше не мешать вам.

https://github.com/romaninsh/atk4-sitesample/blob/day1/templates/Symisun_01/shared.html https://github.com/romaninsh/atk4-sitesample/blob/day1/lib/Application.php

Единственное, что он делает, это добавляет класс в ваш шаблон меню, остальное вы контролируете через HTML.

В результате вы получите что-то вроде этого: http://example.agiletoolkit.org/examples/website/index.symisun

Обязательно используйте тег страницы вокруг имен страниц account/register.

person romaninsh    schedule 19.09.2011
comment
Страница результатов больше не является действительной ссылкой - можете ли вы предоставить пример кода, поскольку я провел пару дней, играя с Menu_Basic и Menu_Light, но не могу получить работающее подменю. Я вижу в shared.html, что вы жестко запрограммировали меню, но я хотел установить это в Frontend.php, так как меню будет зависеть от роли вошедшего в систему пользователя. Еще лучше было бы, если бы вы могли изменить MenuBasic, чтобы разрешить подменю, поскольку я предполагаю, что это будет довольно распространенное требование для любого, кто создает веб-сайт с использованием ATK4. - person Trevor North; 06.07.2012
comment
Подпишитесь на эту тему: groups.google.com/forum/ ?fromgroups#!topic/agile-toolkit-devel/ - person romaninsh; 09.07.2012