假设你有这张桌子:
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'],
))
);
}
现在小心这个“设计”不允许你有子菜单项,所以你需要玩弄它,但希望它能让你更容易开始。