Cakephp3のプラグインであるCakeDC/UsersのContorollerに独自の処理を追加したいのですが方法が分かりません。
イメージとしてプラグインのファイルはいじらずにクラスを承継して独自の処理を追加したいと思っております。
公式ドキュメント<LINK>を参考にMyUsersコントローラーを作成しました。
完成イメージは「echo 'test';」がプラグインのすべてのビューに表示されるものです。
しかしXXXX/MyUsers/usersにアクセスしましたが「The view for MyUsersController::users() was not found.」というエラーが出てしまいました。
単純にechoを追加しただけだったのでViewはプラグインそのまま使えるという認識です。
どのようにすればプラグインのコアをいじらずにコントローラーを書き換えることができますでしょうか。
宜しくお願い致します。
src\Controller\MyUsersController.php
<?php namespace App\Controller; use App\Controller\AppController; use App\Model\Table\MyUsersTable; use Cake\Event\Event; use CakeDC\Users\Controller\Component\UsersAuthComponent; use CakeDC\Users\Controller\Traits\LoginTrait; use CakeDC\Users\Controller\Traits\RegisterTrait; class MyUsersController extends AppController { use LoginTrait; use RegisterTrait; public function initialize(){ parent::initialize(); //親クラスのInitializeを読み込み $this->viewBuilder()->setlayout('layout_e'); //レイアウトの読み込み echo 'test'; } } ?>
config\users.php
略 $config = [ 'Users' => [ // Table used to manage users 'table' => 'MyUsers', // Controller used to manage users plugin features & actions 'controller' => 'MyUsers', 略
src\Model\Entity\MyUser.php
<?php namespace App\Model\Entity; use CakeDC\Users\Model\Entity\User; /** * Application specific User Entity with non plugin conform field(s) */ class MyUser extends User {} ?>
src\Model\Table\MyUsersTable.php
<?php namespace App\Model\Table; use CakeDC\Users\Model\Table\UsersTable; class MyUsersTable extends UsersTable { public function initialize(array $config) { parent::initialize($config); $this->hasOne('t_authorities'); } } ?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/25 15:35