Приветствую!
Столкнулся с необходимостью добавить в стандартную форму обратной связи два дополнительных поля: Телефон и Адрес
Решил поделиться инструкцией вероятно кому-нибудь пригодится:
1) Находим в каталоге wa-system/view файл: waViewHelper.class.php
2) В этом файле находим функцию public function sendEmail($to, &$errors)
3) Далее в блоке:
$body = _ws('Name').': '.htmlspecialchars($this->post('name'))."<br>\n".
_ws('Email').': '.htmlspecialchars($email)."<br><br>\n".$body;
вставляем поля телефона и адреса:
$body = _ws('Name').': '.htmlspecialchars($this->post('name'))."<br>\n".
_ws('Phone').': '.htmlspecialchars($this->post('phone'))."<br>\n".
_ws('Address').': '.htmlspecialchars($this->post('address'))."<br>\n".
_ws('Email').': '.htmlspecialchars($email)."<br><br>\n".$body;
Если необходимо после этого блока можно сделать проверку на заполнение.
4. Заходим в режиме администратора и редактируем блок обратной связи (у меня он называется: site.send_email_form)
5) В нужном месте вставляем:
<div class="wa-field">
<div class="wa-name">[s`Phone`]:</div>
<div class="wa-value"><input name="phone" type="text" value="{$wa->post("phone")|escape}"></div>
</div>
<div class="wa-field">
<div class="wa-name">[s`Address`]:</div>
<div class="wa-value"><input name="address" type="text" value="{$wa->post("address")|escape}"></div>
</div>
как показано ниже:

6) Результат:

18 комментариев
Вот так выглядит на сайте:
Добрый день! Подскажите мне пожалуйста куда зайти, что бы посмотреть файлы в wa-system/view/ ?
Здравствуйте, !
На хостинге в каталоге где установлен Webasyst, находите подкаталог wa-system
Решил добавить:
Кому необходимо добавить поля и в модальной форма (Всплывающем окне)
1) в шаблонах сайта находим index.html в нем ищем блок вывода модальной формы обратной связи (у меня в самом конце)
для ориентира находим строку:
<div class="modal fade" id="feedbackModal" tabindex="-1" role="dialog" aria-labelledby="feedbackLabel" aria-hidden="true">
2) Добавляем дополнительное поле телефона и если надо текст:

И получаем результат:Спасибо большое! А при обновлении она не слетает?
Конечно :)
Конечно, слетает.
Хотя, на мой вкус, удобнее было бы всё это организовать средствами темы дизайна и JavaScript. Тогда и не "слетало" бы.
Средствами темы и JS сделать отдельные поля не особо выйдет. Просто надо все доработки выше вынести в отдельный пользовательский хелпер.
А вообще вот же решение.
При обновлении будет слетать! Костыльное решение...
Я не волшебник, а только учусь!
Да, при обновлении слетит, но восстановить не сложно - 5 минут работы. Зато бесплатно, может быть не очень эстетично, зато дешево, надежно и практично. И платить 3000 руб. не надо если нужно изменить всего одну форму.
А вообще-то я некому это решение не навязываю - может кому пригодиться, а там "кошка бросила котят, пусть страдают чем хотят"
Zhak спасибо что выложили решение, если будет еще что-то, то обязательно выкладывайте))
Я просто не пойму почему бы разработчикам не дописать кусок кода в движок.
Делать кучу махинаций - костыли, хелперы или платить 3к за две строчки кода.
Движок отличный, для ИМ идеальный, но эти мелочи убивают.
скажите а как вместо обычного поля добавить функцию прикрепления файла к письму, ну всмысле type="file"/ Чтобы с формой отправлялся и приложенный файл
Прошло уже огромное кол-во обновлений ни разу не слетело.
Поделитесь как вставили гугл капчу?
Уважаемые разработчики может подскажете как написать хелпер, данные брать с файла waViewHelper.class.php? и как его выводить?
А что делать если нет доступа к waViewHelper.class.php?
Сайт в облаке.
Воспользоваться плагином, например этим: Веб-формы
Тоже самое, но средствами javascript. Подходит для сайтов в облаке и не слетает при обновлении.