Re: 管理画面でカスタムフィールドのソート
- binbin > 管理画面でカスタムフィールドのソート @ 2018/12/4 20:05
- » seto > Re: 管理画面でカスタムフィールドのソート @ 2018/12/5 13:27
- binbin > Re: 管理画面でカスタムフィールドのソート @ 2018/12/5 16:42
seto > Re: 管理画面でカスタムフィールドのソート @ 2018/12/5 13:27 |
---|
こんにちは
ブログ記事一覧ページの縦の列に、追加したテーブルの項目の表示ができたものの、ソート機能が動作しないということでよろしかったでしょうか。 私の方で試した流れを書いてみますね。 ------------------------------------------------------------------------ - Blog.BlogPost.beforeFindで、追加したテーブルとblogPostsをhasOneで紐づけ - 一覧ページのビューに手を入れて項目を追加 -> 追加した項目のページネーションが動かない ------------------------------------------------------------------------ 原因を調べると、BlogPostsControllerのadmin_index内でpaginate関数が実行される前に、アソシエーションを追加しないといけないのですが、beforeFindだとタイミングが遅すぎるということがわかりました。 そこで、もっと前の段階でアソシエーションを貼るとソート機能が動作しました。 私はControllerEventListenerのinitializeで確認しましたが、admin_index内で発火しているsearchIndexというイベントの方を使ったほうがいいかもしれません。 また、表示側の調整も、今回は確認のためにコアのビューを書き換えたのですが、以下のファイル内でShowHeadやShowRowというイベントが存在しているようなので、これを使うといい感じにプラグインからブログ記事一覧ページの表示に干渉できるかと思います。 lib/Baser/Plugin/Blog/View/Elements/admin/blog_posts/index_list.php lib/Baser/Plugin/Blog/View/Elements/admin/blog_posts/index_row.php
|