it-swarm-ja.tech

記事編集ビューに複数のタブがあるコンテンツプラグイン

joomla 3のドキュメントを使用して、シンプルなコンテンツプラグインを作成しています。

ただし、複数のタブを表示したいのですが。

ここに私の主なファイルがあります。プラグインがインストールされ、正常に実行されますが、タブは1つしか表示されません。

extras.php

_// no direct access
defined ( '_JEXEC' ) or die ( 'Restricted access' );
class plgContentExtras extends JPlugin {

// the language file would have to go into languages folder

        protected $autoloadLanguage = true;

        function onContentPrepareForm($form, $data) {
                $app = JFactory::getApplication();
                $option = $app->input->get('option');
                switch($option) {
                        case 'com_content':
                                if ($app->isAdmin()) {

                                        JForm::addFormPath(__DIR__ . '/forms');
                                        $form->loadFile('extras', true);

                                }                           

                                return true;
                }
                return true;
        }
}
_

forms/extras.xml

_<?xml version="1.0" encoding="UTF-8"?>
<form>
        <fields name="params">
                <fieldset name="params"  label="Map" >
                        <field
                                name="mapinfo"
                                type="text"
                                label="Map Info"
                                />

                </fieldset>

                <fieldset name="params"  label="eBlast" >
                        <field
                                name="eblastinfo"
                                type="text"
                                label="Eblast Info"
                                />

                </fieldset>

        </fields>   

</form>
_

あなたの助けを前もって誰かに感謝します:)

pS:私はこれの初心者です。

余分な$form->loadFile('eblast', true);をextras.phpファイルに追加し、次にeblast.xmlという追加のファイルをforms /フォルダー内に作成しようとしましたが、それもうまくいきませんでした。

1
Jonnypixel

これは、両方に同じ名前を割り当てたためです<fieldset>タグ。たとえば、それぞれに異なる名前を付ける必要があります。

<fieldset name="map" label="Map">
    <field
        name="mapinfo"
        type="text"
        label="Map Info"
    />
</fieldset>

<fieldset name="eblast" label="eBlast">
    <field
        name="eblastinfo"
        type="text"
        label="Eblast Info"
    />
</fieldset>

私が使用したことがわかりますname="map"およびname="eblast"

更新:

パラメータにアクセスするには、以下を使用するだけです。

$this->params->get('mapinfo');
$this->params->get('eblastinfo');

お役に立てれば

1
Lodder