簡體   English   中英

Joomla 組件未出現在菜單項類型中

[英]Joomla component not appearing in the menu item types

我只是按照關於如何創建“完美”MVC joomla 組件的 joomla 教程進行操作。 但是,我的問題是我還不知道如何將它分配給菜單。 我以為我的組件會在我選擇“菜單項類型”時顯示,但我的組件不在此列表中。 我在谷歌上做了一些研究,但我找不到答案......我是否必須創建一個 metadata.xml 文件或類似的文件? 預先感謝您的回答!!

要為您的組件創建“視圖”,您必須創建一些 xml 文件。 在組件前端部分的模板文件夾內(通常類似於/components/com_yourcomponent/views/someview/tmpl ),如果您有一個名為default.phpform.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM