Typo3 动作参数未由流体形式填充
您好,我很难将表单中填充的对象提供给操作:我能够加载表单并使用在显示操作中准备的对象填充表单,但是当我将表单提交到表单以存储对象时,表单内容不会在action方法参数中传递,而是在请求参数中的数组中传递。因此,看起来模型类是正确的,形式是正确的,第一个动作是正确的,但是流体形式中缺少了一些东西,或者动作中出现了一些错误。有没有关于寻找问题原因的建议?提前谢谢。 这是加载表单的控制器Typo3 动作参数未由流体形式填充,typo3,fluid,extbase,Typo3,Fluid,Extbase,您好,我很难将表单中填充的对象提供给操作:我能够加载表单并使用在显示操作中准备的对象填充表单,但是当我将表单提交到表单以存储对象时,表单内容不会在action方法参数中传递,而是在请求参数中的数组中传递。因此,看起来模型类是正确的,形式是正确的,第一个动作是正确的,但是流体形式中缺少了一些东西,或者动作中出现了一些错误。有没有关于寻找问题原因的建议?提前谢谢。 这是加载表单的控制器 /** * @param \Aip\AipMediakey\Domain\Model\Subscriptions
/**
* @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>
我发现了我的错误,方法 IscrizioneAwardStepSoggetti作用 应该被命名的 IsCrizioneAwardStepSoggettAction(以小写字母开头的i) 如ext_local_conf.php所述
我希望这个答案至少能帮助其他人。函数中的大写字母是不是碰巧出现了
iscrizioneawardstepsogettiaction
?函数应该以小写字母开头。是的,我昨天发现了它。。。。我在控制器中有几个动作,都叫correclty,但我忽略了那个动作
/**
* @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);
}