【问题标题】:TYPO3 extension input form cannot save objectTYPO3 扩展输入表单无法保存对象
【发布时间】:2014-07-21 09:20:21
【问题描述】:

我目前正在开发一个扩展,我想在其中创建一个新对象 (request),其中包含对第二个对象 (bike) 的引用 (UID)。简单地说,我想提交一个联系表,引用相应的产品。

已经可以在后端创建请求对象了。

但是当我尝试提交前端联系表单时,我收到以下错误:

#1298012500: Required argument "bike" is not set.

这里是输入表单的摘录(New.html):

<f:form id="request" class="Tx-Formhandler col col-2" action="create" name="newRequest" object="{newRequest}">

            <div class="content">

                <f:form.hidden property="bike" value="{bike.uid}"/>

                <div class="row"> 
                    <div class="col c3">
                        <label for="salutation"><f:translate key="tx_chiliusedbikes_domain_model_request.salutation" />:</label>
                    </div>
                    <div class="input col c9">
                        <f:form.select property="salutation" options="{Herr: 'Herr', Frau: 'Frau'}" />
                    </div>
                </div>
                <div class="row required">
                    <div class="col c3">
                        <label for="firstname"><f:translate key="tx_chiliusedbikes_domain_model_request.firstname" />: *</label>
                    </div>
                    <div class="input col c9">
                        <f:form.textfield property="firstname" class="required" />
                    </div>
                </div>

自行车的 UID 已正确传递到表单中。但是,错误仍然表明该属性未设置。可能是什么原因?

【问题讨论】:

  • 尝试&lt;f:debug&gt;{newRequest}&lt;/f:debug&gt;检查整个对象是否正确绑定
  • 我不太确定应该在哪里编写这样的调试语句 - 当我在新模板中提交表单时出现错误。而当我直接将调试语句写入New模板时,对象还处于等待填充状态(NULL),当然……

标签: forms parameters typo3 extbase


【解决方案1】:

看起来,问题是由表单的缺少属性controller 引起的。现在它可以完美运行:

<f:form id="request" class="Tx-Formhandler col col-2" action="create" name="newRequest" object="{newRequest}" controller="Request">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-17
    • 2016-06-29
    • 1970-01-01
    • 2011-07-15
    相关资源
    最近更新 更多