2017-09-23 2 views
0

Ich habe ein Formular zur Registrierung von E-Mail-Benutzer implementiert, damit wir ihnen ein Update senden können.Grav Form Plugin Fehler

Das Formular funktioniert perfekt bei der Integration, aber ohne Grund scheitert in der Produktion.

Als ich versuchte, die Nachricht bekomme ich einen 500 Post Fehler mit den folgenden Informationen zu senden:

{error: {type: "Whoops\Exception\ErrorException", message: "Undefined index: type",…}} 
error : {type: "Whoops\Exception\ErrorException", message: "Undefined index: type" , …} 
file : "/var/www/20170803_project/user/plugins/form/classes/form.php" 
line : 552 
message : "Undefined index: type" 
type : "Whoops\Exception\ErrorException" 

-Code, der die Form erzeugen:

{% set scope = scope ?: 'data.' %} 
{% set multipart = '' %} 
{% set method = form.method|upper|default('POST') %} 

{% set action = form.action ? base_url ~ form.action : base_url ~ page.route 
~ uri.params %} 

{% if (action == base_url_relative) %} 
{% set action = base_url_relative ~ '/' ~ page.slug %} 
{% endif %} 

<form name="{{ form.name }}" 
    action="{{ action }}" 
    method="{{ method }}"{{ multipart }} 
    {% if form.id %}id="{{ form.id }}"{% endif %} 
    {% block form_classes %} 
    {% if form.classes %}class="{{ form.classes }}"{% endif %} 
    {% endblock %} 
> 

<div class="stay_tune pure-u-4-5 pure-g"> 
{% block inner_markup_fields_start %}{% endblock %} 

<div class="group pure-u-3-5 email_register_container"> 
    <input name="email" type="email" required> 
    <span class="highlight"></span> 
    <span class="bar"></span> 
    <label class="label">Email</label> 
</div> 

{% include "forms/fields/formname/formname.html.twig" %} 

{% block inner_markup_fields_end %}{% endblock %} 

{% block inner_markup_buttons_start %} 
<div class="pure-u-2-5 register_button_container"> 
{% endblock %} 
{{dump(form)}} 
    <p class="message_form">{{form.process[1].message}}</p> 
    <button type="submit" class="register_button" name="button"> 
{{form.button.value}}</button> 
{% block inner_markup_buttons_end %} 
</div> 
{% endblock %} 
</div> 

{{ nonce_field('form', 'form-nonce')|raw }} 
</form> 

I Prüfungserlaubnis tat und klar Cache ohne Erfolg, ich habe keine Ideen mehr.

Vielen Dank.

Antwort

0

Es scheint, als gäbe es ein Problem mit Ihrer Checkbox.

Können Sie Ihre Formulardefinition posten?

+0

Ich habe keine Checkbox! Ich füge den Code hinzu, der das Formular generiert. – mhlsf

2

Die Datei /user/plugins/form/classes/form.php in Zeile 552 enthält diese Codezeile if ($field['type'] == 'checkbox') { das heißt: wenn die Feldart dann ‚Kontrollkästchen‘ ist ...

Ihr Fehler „Undefiniert Index: type“ (die auf Arrays stricly korrelierten) besagt, dass er den angegebenen Typ in $field Array nicht finden und indexieren kann.

Dieser Codeabschnitt (Zeile 552) wird auch in einer Funktion post() ausgeführt.

Also kann ich folgern, dass: beim Überprüfen Ihrer Felder nach der Post-Anfrage einer von ihnen nicht die type Eigenschaft hat.

Um das Problem zu lösen, könnten Sie Ihre generierte HTML-Ausgabe (inspect element) auf dem Formular überprüfen und die falsch formatierte Eingabe finden.