2017-12-15 2 views
1

Ich habe hier einige Informationen https://forge.typo3.org/issues/6166 gefunden, aber es gibt keine Lösung. ohne globale Einstellungen, wie die $GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFoundOnCHashError'] = 'false';eigene Extbase-Erweiterung mit Fehler "& cHash leer" in Form Methode = Post

Mein Problem zu beheben: Ich habe neue extbase extention, builded mit extention_builder auf TYPO3 8.7.7. Ich habe RealUrl nicht benutzt. Alles funktioniert gut, aber in meinem Plugin mit einfacher Aktion "liste" existieren einfache flüssige Form mit einigen Nachfrage fileds (method = "post"). Wenn ich versuche, ein Formular zu senden, bekomme ich "Seite nicht gefunden Grund: Anforderungsparameter konnten nicht überprüft werden (& cHash leer)".

Wenn ich $GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFoundOnCHashError'] = 'false'; verwenden, funktionieren alle gut. Ofcource in meiner Form URL Ich habe keine Hash. Und habe keine Ahnung haben, generieren und fügen Sie das, um mein Formular zu committen und Liste mit Nachfrage Ergebnis ohne diesen Fehler zu erhalten. Irgendeine Information, irgendeine Idee, irgendeine Hilfe?

flüssige Form

  <f:form name="demand" object="{demand}" action="list" class="filter-form pagination-target"> 
       <div class="row"> 
        <div class="col-md-3 col-lg-2"> 
         <div class="form-group"> 
          <label for="fulltext"><f:translate key="filter.search" default="Search:"/></label> 
          <f:form.textfield property="fulltext" class="form-control"/> 
         </div> 
        </div>  

        <div class="col-xs-2"> 
         <div class="form-group"> 
          <label>&nbsp;</label> <br> 
          <f:form.hidden property="pagination.perPage" class="per-page-holder"/> 
          <f:form.hidden property="pagination.page" class="page-holder" value="0"/> 
          <f:form.submit value="{f:translate(key: 'filter.submit', default: 'Filter')}" class="btn btn-warning"/> 
         </div> 
        </div> 
       </div> 

      </f:form> 

- Update ---

Thx, TYPO3 Developer für sugestions mit addQueryString="1", aber ich habe nicht params in meinem Fall bekommen. Ich denke, ich brauche überhaupt kein Chach und es sollte funktionieren ohne es. Mb muss ich etwas in etwas hinzufügen cHash ignorieren oder so?

- Update ---

Nachdem ich mit der Methode meiner Form submit = POST ich habe keine GET-Parameter, so cHash sollte aber noch nicht erforderlich meine TYPO3 wird mit Fehler folgenden“... & cHash leer ... "und nach diesem Link zu urteilen https://forge.typo3.org/issues/6166 Ich bin nicht nur einer, der ein solches Problem hat.

+0

Könnten Sie ein Beispiel dafür geben, wie Sie Ihr Formular definiert haben? Wenn Sie '' verwenden, sollte ein cHash automatisch hinzugefügt werden (zumindest wenn Sie 'noCacheHash' nicht auf' true' setzen). –

+0

Hinzugefügt. Ich schaue auch in f: form documentation, dound nur noCacheHash - aber das hat keine Wirkung (false sollte standardmäßig sein - bu event ich füge diese mannaly - einige Geschichte). Auch ich probierte beide Methode - auch keine Wirkung –

+0

Könnten Sie bitte versuchen, noCacheHash = "0"? Ich stelle mir vor "FALSE" ist nicht boolesch und somit in diesem Fall wahr. Nichtsdestoweniger sollte der Parameter den Standardwert false haben und in Ihrem Fall funktionieren. Ich benutze die ganze Zeit flüssige Formen. Ein CHash sollte vom ViewHelper generiert werden. – mrwienh

Antwort

-1

Sie schreiben Ihre Methode ist "Post", aber eigentlich ist es "Get". Kannst du zum "Post" wechseln?

+0

Ich habe versucht, beide, aber hinzugefügt "get" nur zum Beispiel - URL zu sehen –

1

Versuchen Sie, addQueryString = '1' in Ihrem f:form wie unten hinzuzufügen.

<f:form name="demand" object="{demand}" action="list" method="get" addQueryString="1" class="filter-form pagination-target"> 
........ 
........ 
</f:form> 
+0

Ye sin diesem Fall werde ich Chash der Seite in URL es shopud Arbeit bekommen, aber es sieht eher aus wie "Krücke" oder das ist eine Standardlösung? –

+0

Ja, es ist typo3 Standard Weg. –

+0

Aber es ist wenig seltsam in meinem Fall, ich habe keine params bekommen - normalerweise brauche ich überhaupt kein Bargeld? –

1

Ich hatte auch dieses Problem in meiner Erweiterung und auch bei der Suche nach EXT: Nachrichten (siehe https://github.com/georgringer/news/issues/413). Vielleicht muss es etwas mit den POST-Parametern machen, vielleicht ist es ein Bug von Extbase/Fluid. In meinem Fall half es, einen cHash zu erzeugen, indem ich einen GET-Parameter anwendete, ich habe die Parameter "action" und "controller" zu meinem "f: form" hinzugefügt. Hinzufügen eines beliebigen Parameters könnte auch helfen: arguments="{dummy: 1}"

+0

thx Ich werde dies versuchen und auch werden Sie bemerken, wenn etwas mehr finden wird –