Как сделать многоуровневое вложенное меню на сайте при помощи Zend Framework?

Катя

Новичок
Как сделать многоуровневое вложенное меню на сайте при помощи Zend Framework?

Засела вот за изучение Zend Framework !

Посмотрела по разным tutorial и мануалам, в итоге с типовым проектом, который автоматом генерит ZendStudio for Eclipse вроде разобралась... ;)

Возник следующий вопрос, а как правильно сделать многоуровневое меню?
Поиск по форумам и туториалам привел к следующему решению:

1) В bootstrap.php добавить следующее

PHP:
$actionStack = new Zend_Controller_Plugin_ActionStack();
$request = new Zend_Controller_Request_Http();

//Задаем параметры запроса по которому нужно перейти
$request->setActionName('index');
$request->setControllerName('menu'); 

//Кладем в стек 
$actionStack->pushStack($request);
//И регим плагин
$frontController->registerPlugin($actionStack);
2) Создать контроллер /application/default/controllers/MenuController.php

PHP:
class MenuController extends Zend_Controller_Action {
	
	/**
	 * The default action - show the home page
	*/
	
	public function indexAction() {
		$this->render('index', 'menu');
	}
}
3) Создать дополнительный /application/default/views/scripts/menu/index.phtml

PHP:
// Тут HTML-код меню
4) В /application/default/layouts/main.phtml добавить

PHP:
<?php echo $this->layout()->menu; ?>

Все вроде как работает, но есть вопросы:

1) Как все-таки сделать многоуровневое меню? Куда поместить код по его отрисовке, куда html-блоки для выделенного/не выделенного пункта и т.п. Как выбирать текущий пункт меню в зависимости от страницы???

2) Как сделать, чтобы контроллер меню был чисто внутренним и не срабатывал по по http://test/menu/ ?
 

Harling

Новичок
Расписал все подробно, и оформил надлежащим образом. а теперь попробуй с этим вопросом обратится к квалифицированным специалистам на прямую. найди какого нибудь программиста на сайте inphp.org это фриланс сервис только для PHP программистов, по этому найти программиста там не составит труда.
пробуй, пиши ;)
 

AmdY

Пью пиво
Команда форума
Расписал все подробно
Harling
привет "специалистам" inphp ;)

Катя
у вас есть объект Request который позволяет получить текущий module, controller, action и даже параметры, на основании этого ты пожешь определить какой пункт выбран.

для работы с древовидными структурами в zf уже вроде бы есть готовый класс

в layout генерь данные для view (/application/default/views/scripts/menu/index.phtml)
 

Harling

Новичок
AmdY
ага им будет приятно) а еще лучше вам самому предать его...
...вижу вы нашли решение проблемы.
 
Сверху