Получение значения заполненных полей обратной связи

Материал из Umicms
Версия от 07:41, 28 июня 2013; Alexei (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 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 в Вашем шаблоне.