1

コンポーネントに関連するプログラムによる方法で、標準の joomla メニュー項目を追加したいと考えています。メニュー項目を追加するためのAPIの方法はありますか、それともSQLの方法だけですか。SQL 経由でメニュー項目を追加できますが、その後いくつかの問題が発生します。メニューを作成し、メニュー項目を joomla 管理者から Joomla コンポーネント項目にリンクできます。しかし、メニューとメニュー項目を手動ではなくプログラムでコンポーネントに追加したいと考えています。たとえば、コンポーネント編集でボタンを作成します。それを押すと、メニュー項目が自動的に作成されます。

4

3 に答える 3

0

menuitemsを取得するためにjoomlaで利用可能なJMenuAPIがあります

http://docs.joomla.org/API15:JMenu/getItems

あなたは同じことを参照するためにこれを読むことができます。

于 2012-04-27T07:02:22.450 に答える
0
        $menuTable = JTable::getInstance('Menu', 'JTable', array());

        $menuData = array(
        'menutype' => 'client-pages',
        'title' => $data[name],
        'type' => 'component',
        'component_id' => 22,                  
        'link' => 'index.php?option=com_content&view=article&id='.$resultID,
        'language' => '*',
        'published' => 1,
        'parent_id' => '1',
        'level' => 1,
    );

    // Bind data
    if (!$menuTable->bind($menuData))
    {
        $this->setError($menuTable->getError());
        return false;
    }

    // Check the data.
    if (!$menuTable->check())
    {
        $this->setError($menuTable->getError());
        return false;
    }

    // Store the data.
    if (!$menuTable->store())
    {
        $this->setError($menuTable->getError());
        return false;
    }

    $db   = $this->getDbo();
    $qry = "UPDATE `#__menu` SET `parent_id` = 1 , `level` = 1 WHERE `id` = ".$menuTable->id;
    $db->setQuery($qry);
    $db->query();
于 2015-11-03T10:24:13.373 に答える
0

コンポーネントの XML 構成ファイルから自動的に作成されるコンポーネントのメニュー項目を作成する場合、サブメニューとして追加の項目を追加する場合は、おそらく JSubMenuHelper が探しているものです。

これらについては、コンポーネントの作成に関するチュートリアルのこのセクションで説明します。

于 2012-04-27T07:00:23.727 に答える