匿名ユーザーの場合viewsのランダムソートが動作しません

Events happening in the community are now at Drupal community events on www.drupal.org.
kenkun's picture

お世話になります。

表題の件ですが、匿名ユーザーの場合に限り、viewsのランダムソートが動作しません。解決策をご存知の方がいましたら教授いただけると幸いです。何卒、よろしくお願いいたします。

おそらくキャッシュが悪さをしているのかなと思います。viewsのキャッシュは「なし」にしてあります。

▼Drupalのバージョン
8.1.6

▼問題
匿名ユーザーの場合に限り、viewsのランダムソートが動作しない

▼やりたいこと
viewsで画像を取得してランダムで表示させる。並び変え基準を表示させず、以下、①のような設定で動かしたいです。

▼viewsの設定
①動かない設定
https://groups.drupal.org/files/settei1.PNG

②なぜか動く設定
https://groups.drupal.org/files/settei2.PNG

①から以下の設定を変更しています。
・AJAXを利用を「はい」に変更
・並び替え基準のランダムを外部設置に変更

ブラウザの更新ボタンではランダムソートは動作しませんが、viewsの適用ボタンで更新した場合はランダムソーとが動作します。JavaScriptを使うことでキャッシュがクリアされているのでしょうか。

AttachmentSize
settei1.PNG47.97 KB
settei2.PNG46.13 KB

Comments

blauerberg's picture

試してみたら、再現しました。

内部的には、「ランダムでソートした結果」をキャッシュするようですね。
フォームを外部設置した場合は、ユーザーがソート基準を変えられるため結果が一意に決まらないので、
キャッシュされない(キャッシュしない)ようです。

一応、Internal Page Cache モジュールを無効化すれば外部設置にしなくても毎回ランダムに表示される事は
確認しました。

ただ、このモジュールを無効化するとanonymous ユーザー向けの他のキャッシュ (views以外のキャッシュも含む) が効かなくなるので、サイトのレスポンス速度に影響します。

kenkun's picture

お忙しいところご教授いただき誠にありがとうございます。外部設置で作成してみようと思います。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: