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. 関連モジュール タイトル昇順で並び替える
ブロック 7.23 伸縮するfieldsetブロックを追加したい
ユーザ 7.44 Quickbar 会員の種別(役割)別にメニューを設けたい
コンテンツの作成 7.38 node 代理投稿を可能にしたい
コンテンツの管理 7.15 Pagenation 一つの長いページをBookなどのように連続して読ませることはできますか?
ユーザ 7.34 ip_ranges ログインアタック対策は?
テーマ 7.56 field レンダリング配列内に「ラベル非表示」を指定する方法
Proxy 7.59 Proxy Apache settings.php リバースプロキシ(Apache)+バックグランドWeb(Drupal 7 )でログインセッションを維持する方法
ユーザ 7.22 Realname ユーザーIDではなくニックネーム等を表示したい
ログイン 8.7.x System ユーザー アカウントロックの範囲設定
サイトの構築 7.50 Module Missing Message Fixer モジュールをアンインストールしたらエラーがでるようになった
アップデート 7.28 DisableMessages モジュールのアップデートガイダンスを非表示にしたい
コンテンツの作成 7.15 Mailhandler メールを通じてnodeの投稿をするには
コンテンツの作成 7.50 Code per Node ページ毎にCSSやJSを設定したい
サイトの構築 7.27 Context block ページ別、カテゴリ別等でブロックの表示有無を簡単にするには
表示 7.26 Views ページ内に2つ目Viewsブロックを設置するときPagerが連動してしまう
サイトの構築 7.38 Content Template ページテンプレートが反映されません。
テーマ 7.23 hook ページや状況によってテーマを切り替える
コンテンツの作成 6.x Insert Block ブロックの内容を本文中に表示するには?
サイトの構築 7.31 Views ブロックViewsの絞り込みが表示されない
フォーム 7.43 Webform フォーム関数が実行されるタイミングについて

ページ