次の状況で信頼できる解決策を探しています。
ほとんどの問題を解決するが、完全には解決しないモジュールがいくつかあります。使用するモジュールの組み合わせに関する推奨事項を探しています。これらのいずれかをカスタムコードで拡張する必要があるかどうか、またはcontribモジュールの組み合わせだけが可能かどうかを考えています。
他のモジュール(ビューなど)でニースを再生するソリューションが推奨されます(TACはここで対象となると思います-たとえば、分類法でフィルターし、用語の変更にVBOを使用する可能性があります...)。
どうしますか?
更新:パネルの使用を調査しました。 Panelsベースのアプローチが提供する柔軟性が気に入っているのですが、私のユースケースではそれが実現可能かどうか疑問です。
パネルを使用する場合、選択ルールは、現在のユーザーの役割と表示されているノードの用語IDの組み合わせに基づく必要があるため、各選択ルールには2つの基準と「すべての基準に合格する」設定が必要です。したがって、各アクセスレベル(「匿名」を除く)には2つのバリアントが必要です。ティーザーを表示するためのtid +ロールの組み合わせ用と、完全なノードを取得するためのtid +ロール用です。
考慮すべき5つのロール(匿名+ロールA、B、C、D)があるため、9つのページバリアントが必要になります。これはかなりエレガントに感じられません、または9つのバリアントは受け入れられますか? (パフォーマンス、保守性などについて考える)。
別の問題は、選択ルールの用語ID基準がコンテンツタイプごとであることです。そのため、これを複数のコンテンツタイプに使用したい場合は、さらに多くのバリアントが必要になります。ロールと用語IDの組み合わせに対して「すべての基準に合格する」設定が必要なため、1つの選択ルールで2つのコンテンツタイプの用語IDを追加できません。
別のオプションは、選択ルールを評価するためにPHPを使用することですが、それはパネルを使用する目的に反しているように思われます。DBのコードは良い考えではありませんなど。
したがって、Panelsでより簡単な方法を見落とさない限り、それはそれほど良い考えではないようです(おそらく、カスタムPHPを除く)...)
Panels を使用します。
基本的に、すべてのPanelページには、2つのバリアントがあります。
各バリアントには、ユーザーロールに基づいた選択ルールがあり、1つはロール用、もう1つはロール用ではありません。
次に、それぞれに必要な方法でコンテンツを作成します。個人的には、制限されたビューに対して カスタムノードビュー を作成するので、Node Being Viewedコンテンツピースを使用して、作成した表示モードを使用するように設定するだけです。
Panelsをお勧めする理由は、特別な機能のモジュールを互いに連携させる必要なく、将来の変更を容易にするためです。