Ich versuche, das Anmeldeformular mit dem folgenden Code zu ändern:
function git_form_alter(&$form, $form_state, $form_id) {
$forms = array(
'user_login_block' => 'user-login-form',
'user_login' => 'user-login'
);
if (array_key_exists($form_id, $forms)) {
//my altering code
}
}
Ich habe dies vom openidselector-Modul erhalten, das einige JavaScript-Widgets einführt, und mehr oder weniger versuche ich dies zu tun.
Wenn ich zu mysite / user / login gehe, wird der Block nicht aufgerufen, in dem ich das Formular ändern muss. Es ruft einfach nicht an hook_form_alter()
.
Eine andere Sache ist mit dem Registerformular oder einem anderen Formular, das den Hook aufruft.
Kann mir jemand sagen, was ich tun kann? Wie ist es möglich, dass openidselector dieselbe Methode verwendet, aber in diesem Modul funktioniert der Code, während er in meinem Code nicht funktioniert?
Ihr Code ist in Ordnung und funktioniert einwandfrei. Zumindest diesen Teil, den du gezeigt hast.
Ich gehe davon aus, dass Sie es in das 'Git'-Modul gestellt haben und das Modul aktiviert ist. Haben Sie Code (dort oder an einem anderen Ort), der den Fluss unterbrechen und die Ausführung Ihres Hooks verhindern könnte?
quelle