2021-01-13

Views Work プラグインをつかって閲覧数ランキングを表示する #craftcms

20210113 1006

以前、 Craft CMS と Google Analytics を組み合わせて閲覧ランキングを表示するプラグインのことは書いた。

似たようなプラグインを探していて、Views Work というプラグインを見つけたので試してみた。

Views Work
https://plugins.craftcms.com/v...

プラグインをインストール

プラグインをインストールする。

Craft CMS をインストールしたディレクトリで以下のコマンドでインストールする

$ composer require twentyfourhoursmedia/views-work

$ ./craft plugin/install views-work

テンプレートの設定

詳細ページのテンプレートで閲覧を計測していく必要があるので、

{{ entry.title }}

{{ entry | views_work_image }}

このような感じで追加しておく。

詳細ページには計測用の img タグが埋め込まれている。

20210113 1008

いくつか詳細ページを閲覧して、閲覧順のリストを出してみる。

test セクションのうち、今週1回以上見られているページを5件出すという感じで書いてみる

{% set query = craft.entries.section('test').limit(5) %}
{% do craft.views_work.sortPopular(query,'week',{min_views: 1}) %}
{% set entries = query.all %}

<h2>ランキング</h2>
<ul>
{% for entry in entries %}
{% set views = craft.views_work.recording(entry) %}
<li>{{ entry.title }} // this week: {{ views.thisWeek }} </li>
{% endfor %}
</ul>

基本はドキュメントにあるとおりで、これでランキング的な表示ができる。

20210113 1016

このプラグインをインストールすると、専用のフィールドも追加できる。

20210113 1017

これを追加することで詳細ページで閲覧数も確認することができる。

20210113 1018

先ほどインストールして確認したので期間問わず件数は一緒だけど。。。

一覧での表示も可能。

20210113 1024

日次や週次のランキングをリセットするのには cron の設定が必要にはなる。

ランキングをささっと作りたいというときには便利かもしれない。