「CakePHP3」タグ機能関連を編集編【入門】

カテゴリー:PHP

前回までで新規記事を投稿できるようになったので、今回からタグ関連の機能を編集していきます。

Controller TagsController.php にisAuthorized methodを追加

まず最初に、下記のisAuthorized method を Delete method の下に追加します。ログインしているユーザーであれば記事にタグを「新規追加」・「編集」・「削除」できるよう設定します。

    public function isAuthorized($user)
    {
        $action = $this->request->getParam('action');
        if (in_array($action, ['add', 'edit', 'delete'])) {
            return true;
        }
    }

isAuthorized methodを追加後は、bakeで作成したコードで既に「新規追加」・「詳細」・「編集」・「削除」ができるようになっているのでタグ機能の動作が確認できればここまでの工程は完了です。

Controller ArticlesController.php の View method を編集

上記編集で、投稿記事にタグが関連付けられるようになったので、次にRelated TagesとしてArticlesの詳細画面でタグを表示できるように設定します。

ArticlesController.php の View method を下記の様に編集します。

    public function view($slug = null)
    {
        $article = $this->Articles->findBySlug($slug)->contain(['Tags'])->firstOrFail();

        $this->set('article', $article);
    }

findBySlug($slug)の際にcontainで関連しているタグの情報も一緒に取り出せるように設定をしています。

上記変更後に、投稿記事の詳細画面へ遷移すると投稿記事に関連付けたタグが表示されるようになります。

参考:CakePHP3「クイックスタートガイド」


タグ

関連する投稿

ドラクエ好きな社会保険労務士有資格者・ファイナンシャルプランナー技能士検定2級正会員が運営をしています。当ブログではDQMSLを中心にWordPress・HTML・CSS・JS・PHPなどのTips備忘記録や資格関連の情報、その他雑記を発信して行きます。