2017-12-15 7 views
1

ここにいくつかの情報が見つかりましたhttps://forge.typo3.org/issues/6166、しかし解決策はありません。グローバル設定$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFoundOnCHashError'] = 'false';独自のエクステンション拡張でエラー "&cHash empty"をフォームのメソッド= post

私の問題せずにこれを修正する方法:私は新しいextbaseの拡張子を持つ、TYPO3 8.7.7にextention_builderで建て。私はRealUrlを使用していません。すべて正常に動作しますが、単純なアクションを持つ私のプラグインでは、 "list"はいくつかの要求フィールド(method = "post")を持つ単純な流体形式です。フォームを送信しようとすると、"ページが見つかりません。 理由:リクエストパラメータを検証できませんでした(& cHashが空です)"

$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFoundOnCHashError'] = 'false';を使用すると問題なく動作します。 Ofcource私のフォームURLに私はcHashを持っていません。そして、私のフォームをコミットし、このエラーなしで需要結果を持つリストを取得するためにそれを生成して追加する手がかりはありません。いくつかの情報、いくつかのアイデア、任意の助け?

流体形態

  <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> 

- 更新---

Thxを、addQueryString="1"とsugestionsためTYPO3 Developerが、私は私の場合のparamsを取得する必要はありません。私はチャチャが一切必要ないと思うし、それがなくてもうまくいくと思う。 Mb私はいくつかのcHashで何かを追加する必要があるか無視するか?

- 更新---

私はこの方法で私のフォームを送信した後=「CHASHが要求されるべきではないので、POSTは、私は、何のGETパラメータを持っていませんが、それでも私のTYPO3は、次のエラーで失敗した... &私はこのような問題を抱えているだけではありません。

+0

フォームの定義方法の例を教えてください。 ''を使用すると、cHashを自動的に追加する必要があります(少なくとも 'noCacheHash'を' true'に設定しない場合)。 –

+0

追加されました。私もf:形式のドキュメントを見て、noCacheHashをちょうど掘り出しますが、これは何の効果もありません(デフォルトではfalseです - このmannualyを追加する - いくつかの物語)。また、両方の方法を試しました - 効果もありません –

+0

noCacheHash = "0"を試してください。私は "偽"はブール値ではないと考えているので、この場合は真です。それにもかかわらず、パラメータを省略するとデフォルトでfalseになり、あなたのケースで動作します。私はいつものように液体の形を使っています。 CHashはViewHelperによって生成されるべきです。 – mrwienh

答えて

-1

あなたのメソッドist "post"を書きますが、実際には "get"です。あなたは "投稿"に変更できますか?

+0

私は両方を試してみましたが、ちょうど例えば "get"を追加しました - URLを表示するには –

1

f:formaddQueryString = '1'を追加してみてください。

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

あなたはこのページを笑うでしょうが、 "松葉杖"のように見えますか? –

+0

はい、typo3標準的な方法です。 –

+0

しかし、私の場合は少し奇妙です。私はパラメータを取得していません - 通常、現金は必要ありません。 –

1

私も自分の拡張にもEXTの検索では、この問題を持っていた:ニュース(https://github.com/georgringer/news/issues/413を参照してください)。おそらく、POSTパラメータで何かをしなければならないかもしれません。恐らくExtbase/Fluidのバグでしょう。 私の場合は、GETパラメータを適用してcHashを生成するのに役立ち、 "f:form"に "action"と "controller"というパラメータを追加しました。任意のパラメータを追加すると、次のようにも役立ちます。arguments="{dummy: 1}"

+0

thx私はこれを試してみましょう。 –

関連する問題