hook_form_FORM_ID_alter fyras inte av?

Events happening in the community are now at Drupal community events on www.drupal.org.
johannesf's picture

Hej

Jag försöker ändra på ett form som skapats av cck. Jag har lagt följande i min template.php. Jag registrerar funktionen via sds_theme (temat heter sds), formet:s id är "form_news_node". Men min "hook_form_FORM_ID_alter" fyras inte av?

Är ganska ny på drupal men ska det inte göras så?

function sds_theme() {
return array (
'form_news_node_form_alter' => array(
'arguments' => array('form' => NULL),
)
);
}

function sds_form_news_node_form_alter(&$form, &$form_state) {
print_r($form);
}

mvh / johannes

Comments

Du behöver inte registrera

dixon_'s picture

Du behöver inte registrera fuktionen i hook_theme() eftersom det inte är en temafunktion. Det enda du behöver göra är att implementera hook_form_FORMID_alter(). Om det inte fungerar så har du angivit fel form ID eller så är inte modulen korrekt installerad.

En annan sak som är viktigt att tänka på när du jobbar med hook_form_FORMID_alter() är att den exekeveras före alla hook_form_alter() oberoende av modulvikt! Detta gör att man inte kommer åt alla element i hook_form_FORMID_alter() eftersom den ligger så tidigt i proceduren (detta gäller t.ex. CCK-fält).

Så det är ofta ett säkrare kort att implementera hook_form_alter() istället! Läs mer om den funktionen här.

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: