Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Mailform через TS (http://forum.typo3.ru/showthread.php?t=5956)

Tod 04.03.2008 20:00

Mailform через TS
 
Создаю форму на странице:
Код:

lib.order_form < tt_content.mailform.20
lib.order_form {
stdWrap.wrap = <table width="70%" border="0" cellspacing="0" cellpadding="5"><tr><td colspan="2"><h1>Быстрое оформление заказа</h1><i>Поля отмеченные <span style="color:red;">*</span> обязательны для заполнения.</i></td></tr>|</table>
recipient = .............
redirect = .............
dataArray {
    10.label = ФИО
    10.type = FIO=input
    10.required = 1
    20.label = Телефон
    20.type = PHONE=input
    20.required = 1
    30.label = E-mail
    30.type = EMAIL=input
    35.label = Ваш заказ
    35.type = ORDER=input
    35.value.data = GPvar:order_info
    35.required = 1   
    40.type = submit=submit 
    40.value = Заказать
  }

}

Поля recipient и redirect почему-то не работают. Вроде синтаксис правильный. Вопрос как можно указать через TS адрес куда отсылать сообщение и страницу куда переходить после отправки.

Tod 05.03.2008 16:41

Ужос. Возился целый день с этим(( Я, в принципе, читал и ранее много англоязычных заметок о нестабильной работе некоторых полей mailform через TS, но искренне пытался это как-то побороть:) Увы, пришлось воспользоваться старинным проверенным ранее методом:

Код:

lib.order_form = COA
lib.order_form {

10 = HTML
10.value  (
<div class="csc-header csc-header-n2"><h1>Оформить заказ</h1></div>
<form action="17.html" id="mailform" name="mailform" enctype="multipart/form-data" method="post" target="_top" onsubmit="return validateForm('mailform','FIO,%D0%A4%D0%98%D0%9E,PHONE,%D0%A2%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD,ORDER,%D0%97%D0%B0%D0%BA%D0%B0%D0%B7','Ваше сообщение отправлено. Спасибо.','Вы должны заполнить следующие поля:','Вы ввели некорректный Email адрес.')"><div style="display:none;"><input type="hidden" name="html_enabled" id="mailformhtml_enabled" value="" /><input type="hidden" name="subject" id="mailformsubject" value="Заказ с сайта www.хххххх.ua" /><input type="hidden" name="locationData" value="17:tt_content:1186" /></div>
<table width="80%" border="0" cellspacing="0" cellpadding="5"><tr><td colspan="2"><i>Поля отмеченные <span style="color:red;">*</span> обязательны для заполнения.</i></td></tr><tr><td width="40%" valign="top"><label for="mailformFIO">ФИО</label><span style="color:red;"> *</span></td><td><input type="text" name="FIO" id="mailformFIO" size="20" value="" class="input_style" /></td></tr><tr><td width="40%" valign="top"><label for="mailformPHONE">Телефон</label><span style="color:red;"> *</span></td><td><input type="text" name="PHONE" id="mailformPHONE" size="20" value="" class="input_style" /></td></tr><tr><td width="40%" valign="top"><label for="mailformEMAIL">E-Mail</label></td><td><input type="text" name="EMAIL" id="mailformEMAIL" size="20" value="" class="input_style" /></td></tr><tr><td width="40%" valign="top"><label for="mailformORDER">Заказ</label><span style="color:red;"> *</span></td><td><input type="text" name="ORDER" id="mailformORDER" size="20" value="
)

20 = TEXT
20.data = GPvar:order_info

30 = HTML
30.value (
" class="input_style" /></td></tr><tr><td width="40%" valign="top"></td><td><input type="submit" name="formtype_mail" id="mailformformtype_mail" value="Заказать" class="submit_style" /></td></tr></table>
</form>
)

В чем, собственно фишка, то есть как действовать.
1. Создаете полностью рабочую форму такую, как она должна быть
2. Копируете код ХТМЛ в TS таким образом, как показано выше
3. Элемент контента с формой просто удаляете в меню "Страница", то есть оно остается видным в Списке, а на сайте не отображатся. В коде значение value="17:tt_content:1186" указывает на этот самый элемент, в котором видим поле email адресата.

Если кто-то знает решение попроще - велком... делитесь.


Часовой пояс GMT +4, время: 09:01.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot