Saya menggunakan Page Manager dan Panel , memberikan panel pemilihan node kustom dengan aturan pemilihan berdasarkan jenis (misalnya satu varian panel untuk artikel-, satu varian panel untuk jenis konten blog). Ini berfungsi dengan lancar sejauh ini, penataan juga rapi. Tapi, bagaimana saya bisa mendapatkan lebih banyak kekuatan atas rendering elemen?
Ada beberapa cara untuk merender elemen tertentu: menambahkan bidang, menggunakan token, menggunakan tampilan khusus yang hanya merender bidang tertentu, menggunakan entitas simpul yang diberikan dengan mode tampilan. menggunakan konten panel khusus dengan placeholder dll.
Apa pendekatan terbaik di sini? Akan sangat bagus memiliki kemampuan untuk menambahkan elemen panel kustom (sesuatu) yang dapat ditata dalam * .tpl.php.
Pendekatan saya saat ini akan menggunakan tampilan suite, membuat mode tampilan untuk berbagai bagian / wilayah panel dan menggunakan saran tema kait untuk menambahkan custom node.tpl.php untuk setiap mode tampilan. Tidak perlu memunculkan pandangan, yang cukup banyak? render, kueri tambahan ...) dan dapat menggunakan entitas yang sudah di-cache.
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';
}
}
Saya tidak yakin seberapa baik ini akan di-cache dan berapa banyak sumber daya yang akan dikonsumsi. Saran apa pun akan berterima kasih.