我正在使用Joomla2.5创建一个从前端执行的特殊组件。
这个组件解析xml文件以构建Joomla菜单,我正在执行INSERT INSERT #__menu查询,但我将其留给lft和rgt字段。
菜单的构建非常混乱,当我单击后端的rgt按钮时,一切看起来都很完美,path、lft和rgt字段被正确填充。
我花了两天时间试图从前端组件的控制器和模块执行重建任务,甚至尝试使用,但是缺乏PHP知识并不能帮助我正确地执行重建函数。
我写的最后一件事是:
jimport('joomla.database.tablenested');
class BSImportModelBSImport extends JModel
{
...
function theimport()
{
...
$db =& JFactory::getDBO();
$menu = new JTableNested('Menu', 'id',&$db);
return $menu->rebuild();
}
}如果我的问题看起来很蠢,请不要向我扔石头.我真的需要帮助..。
发布于 2013-05-04 07:01:59
我使用菜单表的保存方法:
$data = array (
'id' => 0 ,
'title' => '{menu name}' ,
'note' => '',
'link' => '{link}',
'menutype' => '{menutype}' ,
'type' => 'url',
'published' => 1 ,
'parent_id' => 1 ,
'level' => 1 ,
'component_id' => 0 ,
'browserNav' => 0 ,
'access' => getLevel() ,
'template_style_id' => 0 ,
'language' => '*' ,
'params' => array (
'menu-anchor_title' => '' ,
'menu-anchor_css' => '' ,
'menu_image' => '{url of logo for menu}',
'menu_text' => 1 ) ,
);
$menuTable = JTable::getInstance('Menu', 'JTable', array());
$menuTable->save($data);此方法创建新菜单并自动重新生成。
https://stackoverflow.com/questions/9866694
复制相似问题