[英]Joomla component not appearing in the menu item types
我只是按照关于如何创建“完美”MVC joomla 组件的 joomla 教程进行操作。 但是,我的问题是我还不知道如何将它分配给菜单。 我以为我的组件会在我选择“菜单项类型”时显示,但我的组件不在此列表中。 我在谷歌上做了一些研究,但我找不到答案......我是否必须创建一个 metadata.xml 文件或类似的文件? 预先感谢您的回答!!
要为您的组件创建“视图”,您必须创建一些 xml 文件。 在组件前端部分的模板文件夹内(通常类似于/components/com_yourcomponent/views/someview/tmpl ),如果您有一个名为default.php
和form.php
的模板,您可以创建一个default.xml
文件和一个form.xml
文件,使管理员可以使用这些菜单项。 可以看看其他组件,看看这些xml文件的结构,但是里面应该放的是:
1) 四个视图的名称和描述 2) 用户可以从管理员那里更改的参数(它的工作方式类似于模块/插件参数) 3) 您还可以为该菜单项设置“隐藏”请求变量。 这意味着这些变量将被添加到该特定菜单项中的请求中,但用户将无法更改其值。
这是一个组件的完整示例(Joomla 1.7):
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_AGMTAGS_TAG_VIEW_DEFAULT_TITLE">
<message>COM_AGMTAGS_TAG_VIEW_DEFAULT_DESC</message>
</layout>
<fields name="request" addfieldpath="/administrator/components/com_agmtags/models/fields">
<fieldset name="request">
<field name="tag_id" type="agmtag"
label="COM_AGMTAGS_TAG_FIELD_NAME_LABEL"
description="COM_AGMTAGS_TAG_FIELD_NAME_DESC"
/>
</fieldset>
</fields>
<fields name="params">
<fieldset name="basic" label="COM_AGMTAGS_TAG_OPTIONS">
<field name="layout_type" type="hidden" default="blog" />
<field name="show_tag_name" type="list"
label="COM_AGMTAGS_SHOW_TAG_NAME"
description="COM_AGMTAGS_SHOW_TAG_NAME_DESC"
>
<option value="">JGLOBAL_USE_GLOBAL</option>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field name="show_tag_description" type="list"
description="COM_AGMTAGS_SHOW_TAG_DESCRIPTION_DESC"
label="COM_AGMTAGS_SHOW_TAG_DESCRIPTION_LABEL"
>
<option value="">JGLOBAL_USE_GLOBAL</option>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field name="items_per_page" type="text" default="" />
<field name="container_class" type="text" default="agmtags-list" />
</fieldset>
</fields>
</metadata>
我希望它有帮助!
如果您只是想将视图链接添加到列表中,请在 com_yourcomponent/views/yourviewname/tmpl/ 中创建一个名为 default.xml 的 xml 文件
下面的 xml 代码采用两种语言字符串,用于在列表中显示您的菜单项链接
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_YOURCOMPONENT_FRONPAGE_TITLE">
<message>COM_YOURCOMPONENT_FRONPAGE_MSG</message>
</layout>
</metadata>
保存文件,链接应该出现在菜单项列表中
显然,您还需要安装 XML 文件中的管理菜单标签。 http://forum.joomla.org/viewtopic.php?p=706714
这对我有用
<administration>
<menu>COM_COMPONET</menu>
<submenu>
etc...
</submenu>
认为这就是 Panayiotis 想说的
此外,您的替代视图文件名不得带有下划线。
table_catalog.xml
table_catalog.php
table_catalog_item.php
不起作用 - “菜单项类型”列表中没有新选项。 但
tablecatalog.xml
tablecatalog.php
tablecatalog_item.php
文件名工作完美。 我已经浪费了一个小时来揭示一个问题。
此外还有另一个问题。 在组件的安装 XML 文件的部分中,标签必须存在,即使您不需要菜单。
如果缺少这些,那么您将永远无法选择将此组件添加到菜单项中,因为类型不会存在:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.