Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод определенного mail при отправке сообщения с формы обратной связи!?

Автор muldyРаздел Custom макросы

Ответов: 1
Просмотров: 1011
Последний ответ 13 Сентябрь 2013, 11:11:59
от admin
Модуль Обратная связь - как редактировать вывод формы?

Автор poloРаздел Макросы UMI.CMS

Ответов: 6
Просмотров: 4161
Последний ответ 10 Август 2011, 18:26:47
от admin
Дополнительный заголовок в письме из формы обратной связи.

Автор psw2020Раздел Настройка системы и модулей

Ответов: 1
Просмотров: 42
Последний ответ 13 Октябрь 2017, 16:05:05
от psw2020
Подключение произвольной формы на произвольном разделе

Автор NOIRMANРаздел Шаблоны XSLT

Ответов: 6
Просмотров: 2414
Последний ответ 27 Ноябрь 2011, 10:23:16
от admin
Определить id формы на posted странице

Автор DZHETIGAPAРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 1579
Последний ответ 08 Декабрь 2011, 21:52:01
от DZHETIGAPA

0 Пользователей и 1 Гость просматривают эту тему.

*

ivan23

  • *
  • 22
  • +0/-0
    • Просмотр профиля
Здравствуйте,

Есть форма на главной странице А (краткая) и форма расширенная Б (на внутренней странице). Поля названы одинаково. Как из А перенести заполненные значения в Б?

каким образом отобразить значения в форме переданные через GET или POST запрос.
К примеру как в форму (юзаем webform add и TPL шаблонизатор) добавить в поле емейл данные
http://test.ru/form/?email=test@test.com

стандартными методами не выходит.
http://www.askdev.ru/question/1265/Передача-переменных-из-одной-формы-в-другую-поля-input-select/
есть решение на xslt
http://wiki.umisoft.ru/Использование_GET_и_POST_параметров_в_XSLT-шаблонах
но нам нужно на tpl

Помогите пожалуйста!

*

Vladimir

  • ****
  • 271
  • +46/-0
    • Просмотр профиля
Re:Передача значений из одной формы в другую
« Ответ #1 : 13 Декабрь 2012, 20:12:00 »
хм... что-то я не въехал в рецепт из Вики. Сперва они задали вручную(!) набор переменных в шаблоне, потом вручную(!) нарисовали форму, потом принимают эти же переменные. Ну да.... Но я бы хотел, чтобы переменные и поля инициировались автоматически по типу данных в нужном количестве и с нужными именами.

В tpl в по 2.8.5.3 с этим были сложности. Форма строится методом getCreateForm, который не принимает параметров из строки запроса.
Я, используя новый шаблонизатор, просто дублировал класс clientReflection и добавлял туда недостающий функционал.
Затем и для формы перепишете в кастом метод add, вызовете свой метод, свой getCreateFormCustom - и все должно получиться. Главное - тобы было совпадение имени поля и get-параметра или твердый алгоритм приведения имени.

*

Vladimir

  • ****
  • 271
  • +46/-0
    • Просмотр профиля
Re:Передача значений из одной формы в другую
« Ответ #2 : 13 Декабрь 2012, 20:40:12 »
Хотя, если вам не нужно редактировать данные, подгружая ранее сохраненные значения из БД, а только создавать новую форму, то, наверно, можно проще.
Фантазирую:
В шаблоне формы (/tpls/data/reflections/) вместо
<input type="text" name="%input_name%" value="%value%" size="15" />
пишем
<input type="text" name="%input_name%" value="%webforms valueGET('%name%','%value%')%" size="15" />

Затем пишем кастомный метод valueGET
public function valueGET($name,$value){
$get = getRequest($name);
$get = filterInputString($get);
$get = $get ? $get : $value;
return $get;
}
Повторюсь, важно, чтобы имя поля и параметра совпадали.

*

Vladimir

  • ****
  • 271
  • +46/-0
    • Просмотр профиля
Re:Передача значений из одной формы в другую
« Ответ #3 : 13 Декабрь 2012, 20:42:25 »
Аааа! Думал-думал, а почему же я сам не пошел по такому пути??  - выпадающие списки в пролете.

*

ivan23

  • *
  • 22
  • +0/-0
    • Просмотр профиля
Re:Передача значений из одной формы в другую
« Ответ #4 : 24 Декабрь 2012, 18:50:59 »
Была проблема передать данные из одной формы в другую.
Решение:
1. в /classes/modules/custom.php
добавляем функции:
// для обработки полей типа input
public function myget($v) { return(GetRequest($v)); }

// для обработки полей типа select
public function myget_sel($v)
{
$f=false;
if (GetRequest('option1')==$v) { $f=true; }
if (GetRequest('option2')==$v) { $f=true; }
if (GetRequest('option3')==$v) { $f=true; }
if ($f) { return(' selected'); }
return('');
}

2. в шаблоне делаем просто:
<input type="text" id="%name%" placeholder="" name="%input_name%" value="%custom myget(%name%)%">

а с SELECTом делаем так
$FORMS['reflection_field_relation_option'] = <<<END
<option value="%id%" %custom myget_sel(%id%)%>%name%</option>
END;

Все работает - удачи !
P.S. Уважаемые разработчики - сделайте нормальную документацию или отсыпте то что Вы там курите !!! Это не CMS, а пи#$% какой-то !!!

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Передача значений из одной формы в другую
« Ответ #5 : 10 Январь 2013, 09:49:34 »
Цитировать
P.S. Уважаемые разработчики - сделайте нормальную документацию или отсыпте то что Вы там курите !!! Это не CMS, а пи#$% какой-то !!!

 ivan23, это вам на официальный сайт umi надо) тут у нас лишь творческое объединение тех кто ищет и тех кто может чем-то помочь по мере своего альтруизма. http://umihelp.ru/info/about/