Batyabest 06 марта 2015 2 18
Здравствуйте.
Пытаюсь разместить несколько форм на странице с помощью связки AjaxForm и Formit. Проблема в том, что если указываю параметр &emailTo=`test@test.ru` то отображается только та форма, которая забита в шаблоне. А 2 других формы, которые размещены в контенте страницы не отображаются. Более того, весь контент страницы пропадает.
18 комментариев
Fi1osof1
Fi1osof 08 марта 2015г в 02:23 #
Ничего с этим не подскажу, formIt не использую. А что не использует form-процессор?
B
Batyabest 08 марта 2015г в 10:32 #
Вообще непонятка какая-то. Создал в формах скрытые поля emailto и emailfrom и в вызове прописал &emailTo=`[[+emailto]]` и &emailFrom=`[[+emailfrom]]` все стало работать как положено. Первый раз такая шляпа.
А чем пользуетесь Вы для форм обратной связи?
a
als1984 08 марта 2015г в 13:22 #
С 2-мя формами с FormIt есть несколько заковырок, я тоже долго не мог понять почему на всех страницах форма обратного звонка нормально работает, кроме страницы контактов, где тоже был вызов сниппета FormIt. Пока не понял принцип его работы. FormIt обрабатывает POST запрос, и в зависимости от настроек производит какие-либо действия (валидация полей, отправка сообщения, редирект и т.д.). Но если на странице Formit вызван дважды или более, то возникают проблемы, т.к. он 2 или более раз попытается обработать один и тот же POST запрос (если в запросе одинаковые переменные). Поэтому я нашел 2 пути решения проблемы: 1. Оставлять только 1 вызов, но если поля в 2-х формах разные, то необходимо ставить «заглушки» (поля co style=«display:hidden» cо значениями по-умолчанию); 2. По возможности в формах в поле action ставить разные id, и создать пустую страницу с FormIt.
B
Batyabest 08 марта 2015г в 14:01 #
Спасибо, попробую. Но у меня все работает в связке с AjaxForm и тап есть параметр &submitVar=`1`, позволяющий раскидывать обработку разных форм.
Fi1osof1
Fi1osof 08 марта 2015г в 21:48 #
Я написал: form-процессор. У нас везде только он и используется. Там и отправка уведомлений, и проверка каптчи если надо, и проверка полей, и вызов субпроцессоров, если надо (например, если надо создать новый заказ на лету).
B
Batyabest 08 марта 2015г в 22:05 #
Было бы здорово, если бы Вы написали топик о том, как пользоваться Вашим form-процессором.
Fi1osof1
Fi1osof 08 марта 2015г в 22:24 #
Вряд ли я в ближайшее время напишу такую статью. Да и смысла в ней особо нет. Посмотрите исходный код этого процессора, а так же как в сборке ShopModxBox реализована форма обратной связи на странице контактов и все. Там логика не особо объемная.
a
als1984 08 марта 2015г в 22:40 #
кстати Николай, тут батябест прав, т.к. надо свой обработчик POST запроса писать. И захотел вас за нелогичность кое-где упрекнуть, но вчитавшись в код, понял что я ошибся и неслабо((, и sendManagersEmail просто функция класса, а не дефолтная функция. Иногда я поражаюсь, как можно в грамотно не избыточный функционал написать, но который расширить можно. я некоторые компоненты modx за переизбыточность и недолюбливал. Но я и смарти недолюбливаю, хотя он иногда в скорости прирост дает, но MVC паттрен он разрушает((.А зачастую, это дорабортки сайта упрощает.
Fi1osof1
Fi1osof 09 марта 2015г в 02:45 #
кстати Николай, тут батябест прав, т.к. надо свой обработчик POST запроса писать. И захотел вас за нелогичность кое-где упрекнуть, но вчитавшись в код, понял что я ошибся и неслабо((
Да, там на странице можно хоть сколько форм обрабатывать. К примеру, я чаще всего просто определяю по имени сабмит-кнопки (здесь name=«feedback_submit»), чтобы если именно эта форма отправляется, обрабатывать ее данные.

Но я и смарти недолюбливаю, хотя он иногда в скорости прирост дает, но MVC паттрен он разрушает((
Назовите мне хоть один современный шаблонизатор, который, к примеру, не поддерживает циклы или условия :)
a
als1984 14 марта 2015г в 11:56 #
тут вопрос созрел почти в тему, возможна ли отправка на почту типа имя@письмо.рф? модх как я уже понял не хочет пропускать подобные имена ящиков.
B
Batyabest 14 марта 2015г в 13:05 #
Мне так показалось, что он не пропускает имена типа имя@site.ru, не?
a
als1984 14 марта 2015г в 13:08 #
там проверка на соответствие регулярному выражению стоит и походу кириллицу не пропускает.
B
Batyabest 14 марта 2015г в 13:54 #
А какого же икса у меня с латиницей не прокатывало? Непонятка))
Fi1osof1
Fi1osof 15 марта 2015г в 16:06 #
Да, там регулярка. Ее имеет смысл обновить уже, она там совсем не идеальная.
a
als1984 15 марта 2015г в 16:16 #
кроме этого регулярка в core/model/modx/mail/phpmailer/class.phpmailer.php стоит, я пробовал их поотключать все равно письмо не отправило :(
Fi1osof1
Fi1osof 16 марта 2015г в 08:16 #
Пробуйте для начала попробовать отправить функцией mail(). Может она не принимает кириллические домены, и надо указывать их альтернативные названия типа xn--aaaaaaaaaa.....xn--p1ai
a
als1984 17 марта 2015г в 11:06 #
попробовал, не принимает. :( joxi.ru/D2PBeKNikx56r3 с обычным адресом отработало, а вот кириллический не приняло joxi.ru/Y2Lqe61tQg5YA6
Fi1osof1
Fi1osof 17 марта 2015г в 20:49 #
Так вы пробуйте не @письмо.рф, а @xn--h1aigbl0e.xn--p1ai
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.