ฉันเดินผ่าน hooks ที่เป็นไปได้โดยใช้ฟังก์ชั่นhook_preprocess(&$vars, $hook)
และมีเพียงเอนทิตีที่พร้อมใช้งาน เป็นไปได้ไหมที่จะทำสิ่งที่ชอบhook_preprocess_profile2_entity()
หรือฉันต้องเขียนเงื่อนไขเพื่อตรวจสอบประเภทกิจการhook_preprocess_entity()
?
ฉันเดินผ่าน hooks ที่เป็นไปได้โดยใช้ฟังก์ชั่นhook_preprocess(&$vars, $hook)
และมีเพียงเอนทิตีที่พร้อมใช้งาน เป็นไปได้ไหมที่จะทำสิ่งที่ชอบhook_preprocess_profile2_entity()
หรือฉันต้องเขียนเงื่อนไขเพื่อตรวจสอบประเภทกิจการhook_preprocess_entity()
?
คำตอบ:
สิ่งนี้ปรับรูปแบบชุดรูปแบบ Zen สำหรับฟังก์ชั่นการประมวลผลล่วงหน้าของโหนดกับเอนทิตี:
<?php
/**
* Implements template_preprocess_entity().
*
* Runs a entity specific preprocess function, if it exists.
*/
function MYTHEME_preprocess_entity(&$variables, $hook) {
$function = __FUNCTION__ . '_' . $variables['entity_type'];
if (function_exists($function)) {
$function($variables, $hook);
}
}
/**
* Profile2 specific implementation of template_preprocess_entity().
*/
function MYTHEME_preprocess_entity_profile2(&$variables, $hook) {
}
/**
* Field Collection specific implementation of template_preprocess_entity().
*/
function MYTHEME_preprocess_entity_field_collection_item(&$variables, $hook) {
}