Írtam egy saját modult, ami a hook_form_alter() kapcsán betölt egy Javascriptet, ami megdizájnolja az űrlapot.
A problémám, hogy a felhasználói adatok űrlapon, ha valami adatot hibásan írok be (pl. a két jelszó nem egyezik meg), majd így akarom elmenteni, akkor a visszadobott űrlapra ezen hook_form_alter() függvény nem hívódik meg.
<?php
/**
* Implements hook_form_alter()
*
* Vannak .js-ek, amiket nem kell mindig betölteni, csak az adott űrlapon. Itt ezeket töltjük be.
*/
function mymodule_form_alter(&$form, &$form_state, $form_id)
{
//die($form_id);
$path = drupal_get_path('module', 'mymodule');
switch ($form_id)
{
case "user_profile_form":
drupal_add_js($path .'/user.js', array('scope' => 'footer', 'group' => JS_THEME));
drupal_add_js($path .'/user--edit.js', array('scope' => 'footer', 'group' => JS_THEME));
break;
}
}
?>
Tehát, amikor megnyitom az űrlapot, akkor lefutnak a javascriptek. El akarom menteni az űrlapot, de valami hibát vétek, akkor visszajön az űrlap, error message-ben szól, hogy nem egyeznek a jelszavak, viszont a fenti javascriptek nem futottak le.
Próbáltam, hogy az első ilyen kör után, betettem a modul elejére egy die($form_id)-t, majd F5-el frissítettem, s meglepő módon, lefutott az oldal, nem die()-olta le, azaz nem futatta le a hook_form_alter()-emet.
Valakinek valami ötlet, hogy ez miért van?