1

コントローラーや場合によってはモデルに対する同様のリクエストについて言及している人がいることに気付きましたが、サブフォルダーにプラグインを配置することについて何も見つけることができませんでした.

私が欲しい...

/app
    /Plugin
        /Modules
            /Form
                /Controller
            /Gallery
                /Controller
        /SomeStandardPlugin
            /Controller

..すべての CMS 機能固有のプラグインを個別に保持できるようにします。

私はもう試した:

CakePlugin::load('Form');
CakePlugin::load('Modules/Form');
CakePlugin::load('../Plugin/Modules/Form');

上記のどれを試しても、プラグインの 1 つでコントローラーを使用しようとすると、次のように表示されます。

Error: FormsController could not be found.

Error: Create the class FormsController below in file: app\Controller\FormsController.php

(プラグインに入れたくなかった場合はこれで十分です!)

クックブックもそれについて何も言及していません-サポートされていないだけですか、それとも何か不足していますか?

参考:CakePHP v2.2.3を使用しています

4

1 に答える 1

1

の引数CakePlugin::loadはパスではありません

この関数の最初の引数は、プラグインの名前です。これはプラグインをロードする正しい方法です:

CakePlugin::load('Name');

ただし、プラグインがApp::build を使用して構成された場所に存在する場合にのみ機能します

そのため、プラグインをサブフォルダーに整理するには、プラグインを含むすべてのパスを宣言する必要があります。

// append app/Plugin/Modules to the path to look for plugins
App::build(array(
    'Plugin' => array(
        APP . 'Plugin/Modules'
     )
));
于 2013-07-29T14:26:17.280 に答える