Получение значения заполненных полей обратной связи — различия между версиями
Alexei (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9''' Задача: Получить значение заполненных полей в форме обратной …») |
Alexei (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 2: | Строка 2: | ||
Задача: Получить значение заполненных полей в форме обратной связи. | Задача: Получить значение заполненных полей в форме обратной связи. | ||
− | Может возникнуть задача, когда необходимо вытащить из формы обратной связи значение тех полей, которые пользователь только что заполнил и отправил. Одним из способов реализации этой задачи является выборка с помощью selector, пример которой приведен ниже: | + | Может возникнуть задача, когда необходимо вытащить из формы обратной связи значение тех полей, которые пользователь только что заполнил и отправил. Одним из способов реализации этой задачи является выборка с помощью selector, пример которой приведен ниже (расположите данный код в classes/modules/custom.php): |
<source lang="php"> | <source lang="php"> | ||
+ | public function lastForm () { | ||
+ | |||
$pages = new selector('objects'); | $pages = new selector('objects'); | ||
$pages->types('object-type')->id(126); | $pages->types('object-type')->id(126); | ||
Строка 21: | Строка 23: | ||
$page = $pages->result; | $page = $pages->result; | ||
− | + | $item_arr[0]['attribute:id']=401; | |
+ | $item_arr[0]['node:value']= $page[0]->getValue('pochta'); | ||
+ | $item_arr[1]['attribute:id']=400; | ||
+ | $item_arr[1]['node:value']= $page[0]->getValue('imya'); | ||
+ | |||
+ | $block_arr['items']['nodes:value'] = $item_arr; | ||
+ | return $block_arr; | ||
+ | } | ||
</source> | </source> | ||
вывели значение полей pochta и imya, которые заполняются в выбранной форме обратной связи. Вместо этих полей Вам необходимо указать поля, которые имеются в Вашей форме обратной связи. | вывели значение полей pochta и imya, которые заполняются в выбранной форме обратной связи. Вместо этих полей Вам необходимо указать поля, которые имеются в Вашей форме обратной связи. | ||
− | Таким образом, мы выбрали последнее сообщение из обратной связи - т.е. то, что пользователь только что отправил, и теперь мы можем вывести информацию, которую пользователь ввел в сообщение. | + | Таким образом, мы выбрали последнее сообщение из обратной связи - т.е. то, что пользователь только что отправил, и теперь мы можем вывести информацию, которую пользователь ввел в сообщение. Вывести данную информацию в шаблон можно, например, следующим образом: |
+ | <source lang="xml"> | ||
+ | <xsl:value-of select="document('udata://custom/lastForm')/udata/items/value[@id='400']" /> | ||
+ | </source> | ||
+ | Данный код выведет значение поля imya в Вашем шаблоне. | ||
+ | [[Категория:API]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:Написание кастомных макросов]][[Категория:Модуль Обратная связь]] |
Текущая версия на 07:41, 28 июня 2013
Актуально для версии 2.9
Задача: Получить значение заполненных полей в форме обратной связи. Может возникнуть задача, когда необходимо вытащить из формы обратной связи значение тех полей, которые пользователь только что заполнил и отправил. Одним из способов реализации этой задачи является выборка с помощью selector, пример которой приведен ниже (расположите данный код в classes/modules/custom.php):
public function lastForm () {
$pages = new selector('objects');
$pages->types('object-type')->id(126);
126 - id формы обратной связи, через которую пользователь отправляет письма
$pages->order('sending_time')->desc();
отсортировали по убыванию
$pages->limit(0,1);
остался 1 результат
$page = $pages->result;
$item_arr[0]['attribute:id']=401;
$item_arr[0]['node:value']= $page[0]->getValue('pochta');
$item_arr[1]['attribute:id']=400;
$item_arr[1]['node:value']= $page[0]->getValue('imya');
$block_arr['items']['nodes:value'] = $item_arr;
return $block_arr;
}
вывели значение полей pochta и imya, которые заполняются в выбранной форме обратной связи. Вместо этих полей Вам необходимо указать поля, которые имеются в Вашей форме обратной связи.
Таким образом, мы выбрали последнее сообщение из обратной связи - т.е. то, что пользователь только что отправил, и теперь мы можем вывести информацию, которую пользователь ввел в сообщение. Вывести данную информацию в шаблон можно, например, следующим образом:
<xsl:value-of select="document('udata://custom/lastForm')/udata/items/value[@id='400']" />
Данный код выведет значение поля imya в Вашем шаблоне.