【问题标题】:action parameter not populated by fluid form动作参数未由流体形式填充
【发布时间】: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 但我忽略了那个

标签: typo3 fluid extbase


【解决方案1】:

我发现了我的错误,方法

IscrizioneAwardStepSoggettiAction

应该被命名

iscrizioneAwardStepSoggettiAction(以小写 i 开头)

如 ext_local_conf.php 中所述

我希望至少这个答案可以帮助其他人。

【讨论】:

    猜你喜欢
    • 2016-11-25
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 2022-06-21
    • 1970-01-01
    相关资源
    最近更新 更多