2016-09-07 2 views
0

Ich habe das contact_storage-Modul installiert, damit ich einen Umleitungspfad beim Ausfüllen eines Formulars festlegen kann. Wenn ich ein Formular ausfülle, ignoriert es scheinbar das Feld redirect path und sendet mich an "/ form_action_cc611e1d ".Formular Weiterleitungen zu page/form_action_cc611e1d

Ich habe keine Ahnung, woher das kommt, die einzige Referenz, die ich zu diesem Pfad in meinem Code finde, ist im BigPipe-Kernmodul, außer dass dieses Modul in meinem Projekt nicht aktiv war.

Ich habe Cache 100 Mal gelöscht, aber ohne Erfolg. Hat jemand eine Idee, wie man das löst?

+0

Protokolle überprüfen Ihre Fehler oder Zugriffsfehler. Es kann etwas mit Berechtigungen zu tun haben – VJamie

+0

@VJamie Nichts kommt in den Fehlerprotokollen, die Zugriffsprotokolle erwähnen nur eine 404: POST/schade/form_action_cc611e1d HTTP/1.1 "404 44117 Dies geschieht sowohl auf meinem lokalen Windows-Rechner und dem Linux Dev-Server –

+0

Ich denke, die beste Option hier ist, mit xDebug zu sehen, wo es umgeleitet wird.Und (wenn Sie dies nicht bereits getan haben), wenn Sie Zugriff auf PHPStorm oder einige erweiterte IDE haben, versuchen Sie nach jedem Vorkommen dieser zu suchen Form. Könnte etwas anderes als nur BigPipe Pop. – VJamie

Antwort

0

Es scheint die Umleitung geschieht nur beim Anhängen einer js-Bibliothek in der hook_form_FORM_ID_alter() meines Formulars, diese js fügt einige HTML (kein Formular steuert nur einige Divs) und einige Click-Handler.

Das passiert nur in einer unserer 6 Vorlagen, also muss da noch etwas anderes stören, leider hatte ich keine Zeit mehr, dies zu untersuchen.

das Formular beheben ich einfach die Anfrage uri wieder zu dem Formular hinzugefügt:

function schade_forms_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id){ 

    //attach JS 
    $form['#attached'] = array(
     'library' => array(
     'insusite_forms/form', 
    ), 
    ); 

    //to prevent the form from redirecting to /form_action_cc611e1d after submit add the action link 
    $form['#action'] = \Drupal::request()->getRequestUri(); 
    } 
} 
Verwandte Themen