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.
sumber
Cara terbaik dan termudah untuk menambahkan konten khusus ke panel dan tema sesuai keinginan Anda adalah, membuat panel konten khusus, menambahkan kode Anda menggunakan mode filter sebagai filter php, dan merangkum konten php / html kustom Anda ke dalam tag div kustom.
Sekarang untuk tema panel konten kustom ini, yang harus Anda lakukan adalah menambahkan aturan css kustom Anda untuk tag div ini ke local.css Anda
Jika Anda memiliki persyaratan khusus, sebutkan di sini.
sumber