Joomla组件未出现在菜单项类型中

问题描述 投票:5回答:5

我刚刚按照joomla教程学习了如何创建“完美的” MVC joomla组件。但是,我的问题是我还不知道如何将其分配给菜单。我以为我的组件会在我选择“菜单项类型”时显示出来,但是我的组件不在此列表中。我已经在Google上进行了一些研究,但找不到答案...我是否必须创建一个metadata.xml文件或类似的文件?预先感谢您的回答!

joomla components assign
5个回答
5
投票

要为您的组件创建“视图”,您必须创建一些xml文件。在组件前端部分的template文件夹内(通常类似于/ components / com_yourcomponent / views / someview / tmpl),如果您有一个名为default.phpform.php的模板,则可以创建一个[ C0]文件和default.xml文件,使管理员可以使用这些菜单项。您可以看一下其他组件来查看这些xml文件的结构,但是您应该放入的内容是:

1)四个视图的名称和描述2)用户可以从管理员更改的参数(其工作原理类似于模块/插件参数)3)您也可以为该菜单项设置“隐藏”请求变量。这意味着这些变量将被添加到该特定菜单项中的请求中,但用户将无法更改其值。

这是组件的完整示例(Joomla 1.7):

form.xml

希望对您有所帮助!


3
投票

如果只想将视图链接添加到列表,则在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>

保存文件,链接应出现在菜单项列表中


1
投票

显然,您还需要安装XML文件中的管理菜单标签。<?xml version="1.0" encoding="utf-8"?> <metadata> <layout title="COM_YOURCOMPONENT_FRONPAGE_TITLE"> <message>COM_YOURCOMPONENT_FRONPAGE_MSG</message> </layout> </metadata>


0
投票

此外,还有另一个陷阱。在组件的安装XML文件中,在该部分中,标记必须即使不需要菜单也可以显示。


0
投票

另外,您的备用视图文件名一定不要带下划线。

© www.soinside.com 2019 - 2024. All rights reserved.