Pagerが表示されなくなった

カテゴリ アップデート コアバージョン 7.28 関連モジュール Views

Viewsモジュールのセキュリティアップデート(3.7→3.8)がでたので、アップデートしたら一部のViewsのPagerが表示されなくなりました。
 
原因と対策を教えてください。

コメント

ユーザー actbrain の写真

当不具合は弊社も確認しています。
 
 
「一部のViews Pager」とは以下の条件にマッチしている場合に限るようです。
 
1.フォーマット:を「テーブル」または「グリッド」にしている。
2.フィールド:内で「Global: PHP」を利用している。
3.ページャーを利用している。
 
 
現状、パッチが出ていないようなので、利用側で対策しなければならないようです。
サイトにより、以下の何れかの対策なります。

1.Views3.8への(セキュリティ)アップデートを止めておく(クライアントが了承しない場合多し)
2.フォーマット:を「テーブル」、「グリッド」以外にして、表示:を「フィールド」以外にする(※1)
3.フィールド:内での「Global: PHP」を止め、他の方法(※2)に置き換える。
4.フィールドのままで「Global:PHP」を止める(※3)

※1)表示:を「フィールド」以外にする:
 従来、フィールドで表示していた内容をテンプレートなどに置き換える方法です。
 手間はかかりますが、正当派です。
※2)他の方法:
 Views Field View(https://drupal.org/project/views_field_view)を使い、PHPで記述していた部分を子Viewsに託します。
 リスクが少ない半面、一回分クエリが増えるので、パフォーマンスが落ちるかもしれません。
※3)「Global:PHP」を止める:
 Viewsのテンプレートをオーバーライドし、テーマ内にPHPを挿入する。
 きれいではありませんが、修正量/パフォーマンスとも有利です。

ページ

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver. 関連モジュール タイトル降順で並び替える
テーマ 8.3x Contribute themes drupal8-寄贈テーマの動向
拡張機能 8.3x Contribute modules drupal8-寄贈モジュールの動向
Viewsプログラミング 8.4x Views drupal8におけるViewsプログラミング
サイト情報 8.9.x api Drupal::request() メモ
チューニング 7.26 PHP DrupalはNginxで動く?
サイトの構築 8.9.x Webform drupalを使用した登録、一覧表示の方法について
PHP 8.9.x drush drush sql:cli < が機能しない場合の対処
アップデート 7.34 Distribution(Commerce Kickstart) drushでcommerce_kickstartのアップデートに失敗する
drush 7.54 Drush Drushでdrupalサイトをインストールする方法
サイトの構築 7.34 ECK Entityの使い方について
コンテンツの管理 8.4x Entity EntityをPropertyで探す(クエリする)方法
コンテンツの作成 8.4x PhpSpreadsheet Excelを読み書きする方法
表示 7.34 Views Infinite Scroll Facebookページのようにスクロールするとコンテンツが追加されるようなコントロール
フォーム 8.9.x api GET/POSTされた情報を得る方法
Gmian 8.8.x Gmail Gmail:外部メールサーバー経由のメール送信ができなくなった場合の対処方法
Google 7.38 robots.txt Google Search Console Teamから「CSS および JS ファイルに Googlebot がアクセスできません」
Initial 8.4x Subscriber hook_init() 〜 drupal_goto() を drupal8でやる方法
GoogleMaps 7.28 Javascript IE9でGoogle Map APIを利用した住所情報所得がうまくゆかない
サイト情報 8.4x JavaScript JavaScriptに変数を渡す方法
jQuery Revolution 7.50 jQuery Revolutionのリンクがスマホで機能しない

ページ