gpt4 book ai didi

php - 如何从 Joomla 中的自定义前端组件调用菜单重建?

转载 作者:可可西里 更新时间:2023-11-01 13:30:59 24 4
gpt4 key购买 nike

我正在使用 Joomla 2.5 创建一个从前端执行的特殊组件。

此组件解析 xml 文件以构建 Joomla 菜单,我正在执行 INSERT INTO #__menu 查询,但我为 lftrgt 字段。

正在构建的菜单非常困惑,当我点击后端的Rebuild 按钮后,一切看起来都很完美,路径lftrgt 字段已正确填写。

我花了 2 天时间尝试从我的前端组件的 Controller 和模块执行重建任务,我什至尝试使用 jimport('joomla.database.tablenested') 但我缺乏 PHP OOP 知识并不能帮助我正确执行 rebuild 函数...

我写的最后一件事是这样的:

jimport('joomla.database.tablenested');
class BSImportModelBSImport extends JModel
{
...
function theimport()
{
...
$db =& JFactory::getDBO();
$menu = new JTableNested('Menu', 'id',&$db);
return $menu->rebuild();
}
}

如果我的问题看起来很愚蠢,请不要向我扔石头...我真的需要帮助...

最佳答案

我使用菜单表的保存方法:

$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);

此方法创建新菜单并自动重建。

关于php - 如何从 Joomla 中的自定义前端组件调用菜单重建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com