मैं क्या करूंगा इसे एक कदम पीछे ले जाऊंगा और देखूंगा कि क्या आप इस हुक को पंजीकृत कर रहे हैं। अक्सर $form_id
बदलाव।
डिबगिंग प्रक्रिया:
- Devel चालू करें
- अपने हुक के अंदर dsm ($ form_id) डालें जैसा कि आपने D6 के साथ उपयोग किया था
- अपना कैश साफ़ करें
Drupal.org से उदाहरण कोड (अंदर mymodule.module
या template.php
फ़ाइल) :
<?php
/**
* Implements hook_form_alter().
*/
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'form_views_exposed_form') {
drupal_set_message("Form ID is : " . $form_id);
}
}
?>
आपको फॉर्म आईडी का प्रिंट आउट दिखाई देगा, फिर अपने विचार उजागर फॉर्म हुक का चयन करें और वहां से काम करें।
इसके अलावा, ड्रुपल 7 के साथ आप सीधे आईडी द्वारा विशिष्ट रूपों को लक्षित कर सकते हैं ।
उदाहरण:
<?php
/**
* Implements hook_form_alter().
*/
function mymodule_form_views_exposed_form_alter(&$form, &$form_state, $form_id) {
drupal_set_message("Form ID is : " . $form_id);
}
?>
ध्यान दें कि यदि आप एक से अधिक एक्सपेक्टेड फॉर्म का उपयोग कर रहे हैं, तो आप फॉर्म में परिवर्तन समारोह में $ फॉर्म ['# id'] की जांच करके एक विशिष्ट दृश्य की जांच कर सकते हैं।
अंत में, अगर वह काम नहीं करता है, तो मैं इस मुद्दे की समीक्षा करने की सिफारिश करूंगा कतार:
उजागर फ़िल्टर में फ़िल्टर कैसे बदलें गर्त form_lter हुक