こんにちは。今回は質問させて頂きたく投稿致しました。ご存知の方がいらしたら教えて頂けると幸いです。
いまCakePHP3でブログサイトのようなものを作成しているのですが、トップページに人気記事ランキングを表示することになりました。Wordpressならプラグインを使えば簡単に実装できますが、CakePHPではどのように行うべきか悩んでいます。
今思いついているのは、
- 記事情報を保存しておくpostsテーブルに「view_count」というフィールドを作成し、閲覧回数がそのフィールドに入るようにする。
- 記事詳細を表示するためのviewアクションに、記事が表示されるたびview_countフィールドの値が+1されて更新するように設定する。
- トップページを表示するためのindexアクションにて、view_countの降順にpostsテーブルの情報を取れるようにする。
という3段階の方法です。
CakePHPで人気記事ランキングを作る際はこのような流れで良いでしょうか?
もっと良い方法があれば教えて頂きたいです。ご存知の方、よろしくお願い致します!
The following two tabs change content below.
金子風月
犬と歯車がついたものと跨り移動系スポーツ(馬・自転車)が好きな駆け出しweb系エンジニア。
2018年2月より、株式会社凛の皆様のおかげで憧れのweb系エンジニアになることができました。
最新記事 by 金子風月 (全て見る)
- vue.jsに触ってみた話 - 2019年3月26日
- DockerでCakePHP2の開発環境を作ってみた(Mac版) - 2019年3月15日
- CakePHP3+Authコンポーネントで任意のタイミングでログインさせる処理をつくる - 2019年3月14日
風月さん、いつもありがとうございます!
ランキングだけで良いのであれば、そのやり方で良いと思います。
ただ、昔その方法で実装した時に、けっこうGoogleのクローラーが来たりすると、それをカウントされてしまっていたような気もします(正確にクローラーかどうかはわからなかったのですが、公開直後にけっこうカウントがあったので)
ざっくりとしたランキングだけ把握出来れば良いということであれば、その実装方法で問題ないと思います!
柳田さん、こちらこそいつもありがとうございます!
今後もごりごり投稿していくのでよろしくお願いいたします。
考え方が合っていたようでよかったです。今回はこの方法でやってみたいと思います。ありがとうございました!