【发布时间】:2018-08-07 12:39:48
【问题描述】:
大家好,我无法将填写在表单中的对象提供给操作:我能够加载表单并使用在显示操作中准备的对象填充它,但是当我将其提交到表单以存储object 表单内容不是在 action 方法参数中传递的,而是在请求参数中的数组中。所以看起来模型类是正确的,形式是正确的,第一个动作是正确的,但要么是流体形式缺少某些东西,要么是动作有问题。关于寻找什么作为问题原因的任何建议?提前致谢。 这是加载表单的控制器
/**
* @param \Aip\AipMediakey\Domain\Model\Subscriptions $newSubscription
* @throws \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchArgumentException
* @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException
* @throws \TYPO3\CMS\Extbase\Mvc\Exception\UnsupportedRequestTypeException
*/
public function iscrizioneAwardFirstStepAction(\Aip\AipMediakey\Domain\Model\Subscriptions $newSubscription = NULL)
{
.....
$newSubscription = $this->objectManager->get('Aip\AipMediakey\Domain\Model\Subscriptions');
/** @var \Aip\AipMediakey\Domain\Model\Subscriptions $newSubscription */
$newSubscription->setCampaignTitle('');
$newSubscription->setProductName('');
$this->view->assign('newSubscription', $newSubscription);
.....
这是流动的形式
<f:form action="iscrizioneAwardStepSoggetti" object="{newSubscription}" name="newSubscription" >
<f:form.hidden property="eventId" value="{award.uid}"/>
Iscrizione all'award : {award.title}
Campagna <br>
Titolo Campagna <f:form.textfield property="campaignTitle" /> <br>
NomeProdotto <f:form.textfield property="productName" /> <br>
<f:form.button type="submit" name="Indietro" value="indietro" formmethod="post">Indietro</f:form.button>
<f:form.button type="submit" name="Procedi" value="procedi" formmethod="post">Procedi</f:form.button>
</f:form>
这个动作叫做提交表单:
/**
* @param \Aip\AipMediakey\Domain\Model\Subscriptions $newSubscription
* @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException
* @throws \TYPO3\CMS\Extbase\Mvc\Exception\UnsupportedRequestTypeException
* @throws \TYPO3\CMS\Extbase\Persistence\Exception\IllegalObjectTypeException
*/
public function IscrizioneAwardStepSoggettiAction(\Aip\AipMediakey\Domain\Model\Subscriptions $newSubscription = NULL)
{
$this->subscriptionsRepository->add($newSubscription);
}
【问题讨论】:
-
函数
IscrizioneAwardStepSoggettiAction中的大写第一个字符是偶然的吗?函数应该以小写字母开头。 -
是的,我昨天发现了它......我在那个控制器中有几个动作都命名为 correclty 但我忽略了那个