Я пишу маленькое приглашение расширения друга на typo3 6.1.3. Вот что мне нужно, я могу отправить приглашение друзьям, добавив туда электронный адрес в текстовое поле. После отправки нажатием кнопки «Отправить» этот человек получит сообщение и этот адрес электронной почты будет сохранен в базе данных.Typo3 extbase полевое поле ввода
Так моя база данных выглядит следующим образом
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 />
, и я могу добавить новое поле столько, сколько захочу. поэтому, отправив эту форму, отдельные записи для каждого адреса электронной почты должны быть созданы в бэкэнд.
Как мы можем достичь этого? Любая помощь? Спасибо
Я решил это уже. Мне удалось создать объект вручную, как этот $ newInvitefriend = new \ TYPO3 \ Invitefriend \ Domain \ Model \ Invitefriend(); Но я не понял, как дезинфицировать входные данные. –
Валидация здесь не работает :(Я добавил freeCap captcha, но ее обход. Любая помощь? –
Не могли бы вы пояснить, что вы имеете в виду под валидацией и как выглядит ваш подход? – lorenz