【发布时间】:2017-12-15 10:13:00
【问题描述】:
我在这里找到了一些信息https://forge.typo3.org/issues/6166,但没有解决方案。如何在没有全局设置的情况下解决这个问题$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFoundOnCHashError'] = 'false';
我的问题:我有新的 extbase 扩展,在 TYPO3 8.7.7 上使用 extension_builder 构建。我没有使用 RealUrl。一切正常,但在我的带有简单动作“列表”的插件中,存在带有一些需求文件(method="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> </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,没有它应该可以工作。 Mb 我需要在一些 cHash 中添加一些忽略或类似的东西吗?
-- 更新 ---
在我使用 method=POST 提交表单后,我没有 GET 参数,因此不需要 cHash,但我的 TYPO3 仍然失败,并出现以下错误“... &cHash empty ...”并从此链接判断https://forge.typo3.org/issues/6166有这种问题的不止我一个人。
【问题讨论】:
-
您能否提供一个示例来说明您是如何定义表单的?如果您使用
<f:form>,则应自动添加 cHash(至少在您未将noCacheHash设置为true的情况下)。 -
已添加。我还查看了 f:form 文档,只找到 noCacheHash - 但这没有效果(默认情况下应该是 false - bu 事件我手动添加了这个 - 一些故事)。我也尝试了这两种方法 - 也没有效果
-
你能试试 noCacheHash="0" 吗?我想“FALSE”不是布尔值,因此在这种情况下是真的。不过,省略该参数应默认为 false 并适用于您的情况。我一直使用这样的流体形式。一个 CHash 应该由 ViewHelper 生成。