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