自己的extbase扩展错误"& cHash为空" in form method = post

时间:2017-12-15 10:13:01

标签: typo3 extbase typo3-8.x

我在https://forge.typo3.org/issues/6166找到了一些信息,但没有解决方案。如何在没有全局设置$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFoundOnCHashError'] = 'false';

的情况下解决此问题

我的问题:我有新的extbase扩展,在TYPO3 8.7.7上使用extention_builder构建。我还没有使用RealUrl。一切正常,但在我的插件中采用简单的动作" list"存在简单的流体形式和一些需求文件(方法=" post")。当我尝试提交表单时,我会找到" Page Not Found 原因:无法验证请求参数(& cHash为空)"

当我使用$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFoundOnCHashError'] = 'false';时,一切正常。在我的形式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>

- 更新---

TYPO3 Developer对于addQueryString="1"的消息,但我不会在我的情况下获得参数。我想我根本不需要chach,它没有它就会工作。我需要在某些cHash中添加一些忽略或类似的内容吗?

- 更新---

在我使用method = POST提交表单后,我没有GET参数,因此不应该要求cHash但仍然是我的TYPO3失败并出现以下错误&#34; ...&amp; cHash empty ...&#34;并且从这个链接来判断https://forge.typo3.org/issues/6166我不仅是一个有这种问题的人。

3 个答案:

答案 0 :(得分:1)

尝试在addQueryString = '1'中添加f:form,如下所示。

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

答案 1 :(得分:1)

我在扩展程序中也遇到了这个问题,也搜索了EXT:news(请参阅https://github.com/georgringer/news/issues/413)。也许它必须对POST参数做一些事情,也许它是Extbase / Fluid的一个bug。 在我的例子中,它通过应用GET参数帮助生成了cHash,我在“f:form”中添加了参数“action”和“controller”。添加任意参数也可以提供帮助:arguments="{dummy: 1}"

答案 2 :(得分:-1)

你写的方法ist&#34; post&#34;但实际上它是&#34;得到&#34;。你能改成&#34;发布&#34;?