我正在写一篇关于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
}
根据我的需要创建,多个invitemail字段(arrray)
<input type="text" name="tx_myext_invitefriend[newInvitefriend][invitemail][]"><br />
<input type="text" name="tx_myext_invitefriend[newInvitefriend][invitemail][]"><br />
我可以根据需要添加新字段。 因此,通过提交此表单,应在后端创建每个电子邮件地址的单独记录。
我们怎样才能做到这一点? 有帮助吗? 谢谢
答案 0 :(得分: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']
}
不要忘记清理输入。