我刚刚按照joomla教程学习了如何创建“完美的” MVC joomla组件。但是,我的问题是我还不知道如何将其分配给菜单。我以为我的组件会在我选择“菜单项类型”时显示出来,但是我的组件不在此列表中。我已经在Google上进行了一些研究,但找不到答案...我是否必须创建一个metadata.xml文件或类似的文件?预先感谢您的回答!
要为您的组件创建“视图”,您必须创建一些xml文件。在组件前端部分的template文件夹内(通常类似于/ components / com_yourcomponent / views / someview / tmpl),如果您有一个名为default.php
和form.php
的模板,则可以创建一个[ C0]文件和default.xml
文件,使管理员可以使用这些菜单项。您可以看一下其他组件来查看这些xml文件的结构,但是您应该放入的内容是:
1)四个视图的名称和描述2)用户可以从管理员更改的参数(其工作原理类似于模块/插件参数)3)您也可以为该菜单项设置“隐藏”请求变量。这意味着这些变量将被添加到该特定菜单项中的请求中,但用户将无法更改其值。
这是组件的完整示例(Joomla 1.7):
form.xml
希望对您有所帮助!
如果只想将视图链接添加到列表,则在com_yourcomponent / views / yourviewname / tmpl /内创建一个名为default.xml的xml文件。>
下面的xml代码采用两种语言字符串来显示列表中的菜单项链接
<?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>
保存文件,链接应出现在菜单项列表中
显然,您还需要安装XML文件中的管理菜单标签。<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_YOURCOMPONENT_FRONPAGE_TITLE">
<message>COM_YOURCOMPONENT_FRONPAGE_MSG</message>
</layout>
</metadata>
此外,还有另一个陷阱。在组件的安装XML文件中,在该部分中,标记必须即使不需要菜单也可以显示。
另外,您的备用视图文件名一定不要带下划线。