Asuming у вас есть эта таблица:
CREATE TABLE IF NOT EXISTS `menu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`label` varchar(50) NOT NULL,
`url` varchar(50) NOT NULL,
`name` varchar(50) NOT NULL,
`title` varchar(50) NOT NULL,
`class` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3;
трейлерах эти значения:
INSERT INTO `menu` (`id`, `label`, `url`, `name`, `title`, `class`) VALUES
(1, 'Home', 'index/home', 'home', 'Home title', 'someClass'),
(2, 'About Us', 'index/about', 'about', 'About title', 'aboutClass');
Вы можете сделать это:
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
$dbAdapter->setFetchMode(Zend_Db::FETCH_ASSOC);
$menuArray = $dbAdapter->fetchAll("SELECT * FROM menu");
$navContainer = new Zend_Navigation();
foreach ($menuArray as $value)
{
$navContainer->addPage(
Zend_Navigation_Page::factory(array(
'uri' => $value['url'],
'label' => $value['label'],
'title' => $value['title'],
'class' => $value['class'],
))
);
}
Carefull Теперь Каус этот "дизайн" whont позволит вам чтобы иметь подменю, поэтому вам нужно будет поиграть с ним, но, надеюсь, вам станет легче.
спасибо за ваш ответ, я создал zend_navigation в моем загрузочном файле, теперь с путем я мог создать навигацию в загрузчике? – user1400 2010-11-23 08:27:21