Craft 3のプラグインCPセクションの新しいルートを設定することは可能ですか?

cpTrigger/plugin-handle
の代わりにプラグインのCPセクションにカスタムルートを使用することも、
cpTrigger/plugin-handle を別のテンプレートに誘導することも可能ですか?
plugin-handle/index.twig

ベストアンサー

あなたのPluginクラスから、次のコードを追加してください:

use crafteventsRegisterUrlRulesEvent;
use craftwebUrlManager;
use yiibaseEvent;

// ...

class Plugin extends craftbasePlugin
{
    $hasCpSection = true;

    public function init()
    {
       //Register a custom CP route
        Event::on(UrlManager::class, UrlManager::EVENT_REGISTER_CP_URL_RULES, function(RegisterUrlRulesEvent $e) {
            $e->rules['your/custom/uri'] = ['template' => 'plugin-handle/index'];
        });
    }

    public function getCpNavItem()
    {
       //Use the default name & icon, but customize the URL
        $navItem = parent::getCpNavItem();
        $navItem['url'] = 'your/custom/uri';
        return $navItem;
    }

   //...
}

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です