Drupal 8. Webform и HTTP_REFERER

Главные вкладки

Аватар пользователя Ivanoff Ivanoff 24 июля 2018 в 10:07

В гугл не нашел решения, поэтому обращаюсь за помощью к сообществу, возможно кому-то еще также пригодится.
Имеем: D8, форма созданная модулем webform, требуется отправить на почту источник перехода на сайт.

Смог нагуглить такой вариант:

{% set referer = app.request.server.get('http-referer')|default('/') %}

<input type="hidden" name="_target_path" value="{{ referer }}" />

И если с первой частью понятно, то как добавить в форму это поле нет. Заранее благодарю если кто поможет победить эту проблему.

Комментарии

Аватар пользователя fairrandir fairrandir 24 июля 2018 в 10:38

Вообще говоря, если человек успел походить по сайту, то и реферера не будет. Возможно имеет смысл писать реферер при первом заходе человека в куку, к вебформе добавить дополнительное скрытое поле реферер, добавить к вебформе дополнительную сабмит функцию, в которой из куки заполнять значение этого поля.

Аватар пользователя VVS VVS 5 июня 2020 в 18:16

В качестве альтернативного решения:

1. Формируем ссылку на вебформу с токеном href="/form/contact?from=[current-page:url:relative]". Например, модуль token_filter, может в этом помочь, если это текстовое поле, или кастомное поле ds, как вариант.

2. На вебформу добавляем скрытое поле со значением [current-page:query:from]. Заметь, что имя from в обоих случаях должно быть одинаковым.