ページマネージャーとパネルを使用して、タイプごとの選択ルールをカスタムノードパネルに提供しています(たとえば、記事の場合は1つのパネルバリアント、ブログコンテンツタイプの場合は1つのパネルバリアント)。これはこれまでスムーズに機能し、スタイリングもすっきりします。しかし、どうすれば要素のレンダリングを強化できますか?
特定の要素をレンダリングする方法はいくつかあります。フィールドを追加する、トークンを使用する、カスタムビューを使用して特定のフィールドのみをレンダリングする、レンダリングされたノードエンティティをビューモードで使用する。プレースホルダーなどでカスタムパネルコンテンツを使用する
ここでの最善のアプローチは何ですか?* .tpl.phpでスタイルを設定できるカスタム(何か)ペイン要素を追加できると便利です。
私の現在のアプローチは、ディスプレイスイートを使用して、さまざまなパーツ/パネル領域のビューモードを作成し、各ビューモードにカスタムnode.tpl.phpを追加するためのテーマフックの提案を使用することです。ビューを呼び出す必要はないでしょう。レンダリング、追加のクエリ...)、すでにキャッシュされたエンティティを使用できます。
function mytheme_preprocess_node(&$vars) {
if ($vars['node']->type == 'my_content_type' && $vars['view_mode'] == 'panel_region_left') {
$vars['theme_hook_suggestions'][] = 'node__my_content_type__panel_region_left';
}
if ($vars['node']->type == 'my_content_type' && $vars['view_mode'] == 'panel_region_right') {
$vars['theme_hook_suggestions'][] = 'node__my_content_type__panel_region_right';
}
}
これがどれだけ適切にキャッシュされ、どれだけのリソースが消費されるかはわかりません。アドバイスはありがたいです。