在安装组件的过程中是否有构建菜单/菜单项(FRONT-END!)的方法?
这与tmpl文件夹中的.xml文件无关。我之后的目的是在安装组件后准备好使用Joomla 3菜单(以及我的视图中的菜单项)。
我知道我可以编写一些SQL并直接插入Menu / Menu_item表。但这感觉不对。有了所有可用的设置选项,如果没有选择创建前端菜单,这似乎很奇怪。
我对选项的意思是:在清单文件中,我可以在管理员部分中使用它来创建我的后端菜单,该菜单存储在同一个db表(不同类型)中。但我不能为前端做同样的事情?
如果我必须使用SQL方法,何时/何地/如何? 或者我是否必须编写/安装插件才能实现此目的?
此致
安德烈亚斯
答案 0 :(得分:1)
您可以创建安装程序脚本文件,并在那里写下一些将运行的代码,例如将您的组件安装到:administrator/components/com_xyz/script.php
class com_xyzInstallerScript {
function postflight($type, $parent) {
//...
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->insert($db->quoteName('#__menu'))
->columns( ... )
->values( ... );
//...
}
}
您可以在joomla安装.sql脚本中搜索有关菜单模块的更多想法。例如。在安装中,默认情况下填充mainmenu。
我想这对前端菜单来说更复杂,组件的安装文件中没有当前的支持(至少我不知道)。在管理员中,菜单项将出现在现有菜单 - 组件菜单中 - 并且通常使用harthon模板,在前端必须从头开始创建菜单。