以前、 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 タグが埋め込まれている。

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

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>

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

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

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

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

一覧での表示も可能。

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

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