私のページビューのURLはmy-view /%1 /%2のようになります。最初の引数%1は語彙AまたはBまたはCの用語IDであり、それらはすべて階層分類法です。
%1がどの語彙であるか、またはそれが親用語か子用語かによって、ビューヘッダーグローバルテキスト領域に条件付きで何かを表示するにはどうすればよいですか?
このような古い投稿に答えることが標準的な方法かどうかはわかりませんが、コーディングをしたくない人には別の解決策が役立つかもしれません。ビューAttachments
を使用して、条件付きでヘッダーを添付できます。これは本番サイトのベストプラクティスではないかもしれませんが、それは別の議論です。この答えは単に可能性を知らせるためです。
個別のヘッダーが必要なボキャブラリーごとに添付ファイル表示を追加し、以下の画像に従ってそれらのプロパティを設定します。メインページまたはマスター(デフォルト)の表示に影響を与えないように、すべての添付ファイルプロパティがオーバーライドされていることに注意してください。
編集:下に表示されている画像はビュー3.x用です。うまくいけば、ビュー2.xにも役立ちます。
添付ファイルを追加:
条件付きで表示するヘッダーごとに添付ファイルを追加します(上記を参照)。
添付ファイルフィルター:
上記のフィルターは、添付ファイルによってヘッダーのみが表示され、レコードが表示されないようにします。
コンテキストフィルター(1/2):
添付ファイルごとにコンテキストフィルターを設定します(上と下を参照)。
コンテキストフィルター(2/2):
この添付ファイルに使用する用語を設定します(私の例は「用語集」です)。必要なヘッダーのみが表示されるように、Action to take if filter value does not validate
が「非表示」に設定されていることを確認してください。
ページに添付:
添付ファイルは必ず何かに添付してください(ここでは、「ページ」ディスプレイに添付されています)。ヘッダーを設定するには、Global: Text Area
をクリックします。
グローバルに設定:テキスト領域(添付ファイルヘッダー内):
Global: Text Area
(前の画像)をクリックして、目的のヘッダーを設定します。通知:まだオーバーライドされています。また、添付ファイルのフィルターはすべてのレコードを除外するため、必ずDisplay even if view has no result
を確認してください。
ページ/デフォルトのコンテキストフィルター:
最後に、必要に応じて、メインページ自体(添付ファイルではない)のコンテキストフィルターを設定します。
パネルモジュールを使用することをお勧めします。そこでは、ビューを含むページを作成し、利用可能なコンテキストに基づいてオプションのコンテンツを追加できます。
hook_views_pre_render()
を使用して、url引数を検査し、必要なコンテンツをグローバルヘッダーに挿入します。半分の作業を完了しました。コードが多すぎる場合は、モジュール内に関数を記述し、グローバルテキスト領域で関数を呼び出して引数を渡すのが最善の方法だと思います。
Views PHP module、add the header as a PHP header。
そこから、条件付きのURLの引数を使用します。
例:パスがmy-view /%1 /%2であり、条件が%1に基づいている場合
if (arg(1) == 'foo'): print 'this'; else: print 'that'; endif;
パスがmy-view /%1 /%2で、状態が%2に基づいている場合
if (arg(2) == 'foo'): print 'this'; else: print 'that'; endif;