私は PanelsOrganic Groups (d7)を使っています-- Drupal 7 Panels統合ガイド(OG 7.x-1.x) "。グループを表示しているときにそれを検出し、それに応じてレイアウトを表示するノードパネルを作成する方法について説明します。
これはすばらしいことですが、特定のグループをより具体的にカスタマイズできる新しいバリアントを作成したいと思います。たとえば、「教育」という特別なグループがあり、グループのホームページを他と少し異なるように配置する必要があるとします。
私はトリックを行うと思うものにいくつかの調整を行いましたが、それは機能しません。これが私がやったことです:
これはうまくいきました...しかし、何らかの理由で、私の「教育」グループだけでなく、すべてのグループに適用されます。繰り返しますが、「教育」グループにカスタムレイアウトを設定し、残りにはデフォルトのレイアウトを設定します。私はまだパネルの初心者ですが、私の説明に基づいて、誰かが私が間違っていることを見つけることができますか?
代わりに、URL文字列 "education/*"またはノードIDで指定することもできます。
私の推測では、コンテキストは「すべての基準に合格する必要がある」ではなく「1つの基準のみに合格する」に設定されています。これを変更するには、選択ルールに移動し、下部にある[すべての基準に合格する]を選択して保存します。
それがどのように機能するかを意味します。選択ルールは、次のようなグループコンテンツ選択に対して機能するように設計されています。
Panelバリアントの「選択ルール」セクションで、選択ルール「ノード:グループオーディエンスフィールド」(またはog_group_ref
フィールドがそこで呼び出されます)。
表示されるフォームで、グループのデフォルトパネルを作成するグループを選択します。
グループに複数のノードタイプが含まれている可能性がある場合は、「1つの基準のみが満たされる必要があります」を構成します。選択ルールセクションで、ノードタイプごとに手順1〜2を繰り返します。
ただし、この方法は、現時点では Drupalの問題#2242511 によって効果的にブロックされています。 (問題のスレッドは回避策について言及していますが、実際的ではありません。)
あなたの誤解:コンテキストと呼ばれる2つのこと。全体として、あなた(私のように)は、パネルの「コンテキスト」が何であるかを誤解していたようです。これは、「コンテキストフィルター」が Views に対して行うのと同様に、パネルのコンテンツ要素に引数を渡す方法です。 「コンテキストが存在する」の使用は、これの副次的な使用にすぎず、特定の引数が提供されているかどうかを確認するために使用できます。 「コンテキストが存在する」にはnothingcontext
モジュールの「context is set」と関係があります– panels
およびcontext
モジュール間には依存関係がないため、モジュールは互いに何の関係もありません。 「コンテキスト」と呼ばれる2つの異なるものです...
その他のオプション。Drupal 7でグループ固有のデフォルトパネルを作成するための、他の機能するおよび機能しない代替の説明については、 私のブログ投稿 それについて。