0

我正在写关于typo3 6.1.3 的小邀请好友扩展。我需要的是,我可以通过在文本字段中添加电子邮件地址来向朋友发送邀请。按提交按钮发送后,该人将收到一条消息,该电子邮件地址将保存在数据库中。

所以我的数据库看起来像这样

CREATE TABLE tx_myext_domain_model_mytable(
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
invitemail varchar(255) DEFAULT '' NOT NULL
)

我的创建操作看起来像这样

public function createAction(\TYPO3\Myext\Domain\Model\Myext $newInvitefriend) {
$this->invitefriendRepository->add($newInvitefriend);

/*
* Email Part
*/

$emailTo = $newInvitefriend->getInvitemail();
//send mail

}

在我需要的创建中,多个邀请邮件字段(数组)

<input type="text" name="tx_myext_invitefriend[newInvitefriend][invitemail][]"><br />
<input type="text" name="tx_myext_invitefriend[newInvitefriend][invitemail][]"><br />

我可以根据需要添加任意数量的新字段。因此,通过提交此表单,应在后端为每个电子邮件地址创建单独的记录。

我们怎样才能做到这一点?有什么帮助吗?谢谢

4

1 回答 1

0

您无法使用开箱即用的功能来做到这一点。

但是在您的 createAction 中,您可以获得请求参数:

$newInviteFriends = $this->request->getArguments('newInvitefriend');

然后遍历inviteFriends

foreach ($newInviteFriends as $newInviteFriend) {
   $newInviteFriend = $this->objectManager->create('\Vendor\Extension\Domain\Model\Modelname');
   $newInviteFriend->setInvitemail($newInviteFriend['invitemail']);
   $this->sendInviteMail($newInviteFriend['invitemail']
}

不要忘记清理输入。

于 2013-09-11T09:23:37.507 回答