यहां बताया गया है कि यह सुनिश्चित करने के लिए कि आपका hook_form_alter किसी अन्य मॉड्यूल hook_form_alter के बाद कहा जाता है:
/**
* Implements hook_form_alter().
*/
function my_module_form_alter(&$form, &$form_state, $form_id) {
// do your stuff
}
/**
* Implements hook_module_implements_alter().
*
* Make sure that our form alter is called AFTER the same hook provided in xxx
*/
function my_module_module_implements_alter(&$implementations, $hook) {
if ($hook == 'form_alter') {
// Move my_module_rdf_mapping() to the end of the list. module_implements()
// iterates through $implementations with a foreach loop which PHP iterates
// in the order that the items were added, so to move an item to the end of
// the array, we remove it and then add it.
$group = $implementations['my_module'];
unset($implementations['my_module']);
$implementations['my_module'] = $group;
}
}
यह तब भी काम करता है जब अन्य मॉड्यूल ने रूपांतर में एक form_alter हुक प्रदान किया है: hook_form_FORM_ID_alter। (वे बताते हैं कि प्रलेखन में: hook_module_implements_alter )।
मुझे पता है कि यह पोस्ट wiifm की पोस्ट से काफी मिलती जुलती है, लेकिन इसे हुक_फॉर्म_ल्टर के उदाहरण के साथ उपयोगी माना गया