Как можно в Webform добавить поле, чтобы в нем отображалась название ноды с которой перешли в эту форму?

7 марта 2013 в 19:28
Аватар пользователя sser sser 0 27

Всем привет любое время суток!
Подскажите люди, кто разбирается. Как можно в Webform добавить такое поле, чтобы в нем отображалась название ноды с которой перешли в эту форму.
Пересмотрел подставочные ноды, но не вижу нужного. Возможно я его не правильно понимаю или его нету. Очень нехорошо, потому что придется много форм создавать. До каждой ноды.
Drupal 7.
За ранее спасибо за любой ответ!

Комментарии

В ссылке, по которой будет открываться эта форма, нужно передать параметр с заголовком ноды. А у нужного поля формы указать дефолтное значение. Там прям примеры есть:
%get[ключ] - Tokens may be populated from the URL by creating URLs of the form http://example.com/my-form?foo=bar. Using the token %get[foo] would print "bar".

Ссылку на форму надо генерить в препроцессинге ноды и вставлять в нужное место в шаблоне ноды.

7 марта 2013 в 20:35

IPlayer wrote:
В ссылке, по которой будет открываться эта форма, нужно передать параметр с заголовком ноды. А у нужного поля формы указать дефолтное значение. Там прям примеры есть:
%get[ключ] - Tokens may be populated from the URL by creating URLs of the form http://example.com/my-form?foo=bar. Using the token %get[foo] would print "bar".

Ссылку на форму надо генерить в препроцессинге ноды и вставлять в нужное место в шаблоне ноды.


Да я видел это пример, и пробовал, но у меня не получилось вывести заголовок ноды в поле формы. Потратил немало времени. Но увы безрезультатно. Возможно что-то не так прописывал. Поэтому и обратился на форум.

8 марта 2013 в 12:23

Да я видел это пример, и пробовал, но у меня не получилось вывести заголовок ноды в поле формы. Потратил немало времени. Но увы безрезультатно. Возможно что-то не так прописывал. Поэтому и обратился на форум.

8 марта 2013 в 1:31

- создать в форме поле Type=Textfield
- в настройках поля прописать Default value = [current-page:title] (или любой другой токен, который вам больше подходит)
- чтоб при заполнении формы пользователь не мог изменить значения этого поля включить чекбокс Disabled

8 марта 2013 в 17:28

WebRemake wrote:
- создать в форме поле Type=Textfield
- в настройках поля прописать Default value = [current-page:title] (или любой другой токен, который вам больше подходит)
- чтоб при заполнении формы пользователь не мог изменить значения этого поля включить чекбокс Disabled

Спасибо что откликнулись.
Так, все это с Type=Textfield, Default value и Disabled я знаю. Вот меня и интересует как правильно прописать Default value. Потому что token [current-page:title] выводить заголовок даной формы. А мне нужно предыдущей ноды. Как правильно прописать этот token.
Это, как мне кажется, связано с токеном %get[ключ] - Tokens may be populated from the URL by creating URLs of the form http://example.com/my-form?foo=bar. Using the token %get[foo] would print "bar". Только я не пойму как правильно нужно это прописать.

10 марта 2013 в 0:27

Да, виноват - не прочитал внимательно постановку задачи.
Описанное решение относиться к случаю когда форма прицеплена блоком внизу страницы а не к вашей задаче.

10 марта 2013 в 1:44

а я понял, делаем ссылку примерно такого плана:
zapros.htm?name=$node->title
zapros.htm - это страницы веб формы
$node->title дает Название ноды в которой мы находимся, и откуда нажимаем кнопку.
а в поле делаем %get[name]
и получаем в веб форму автоподстановку наименования предыдущей ноды.

24 апреля 2013 в 15:46

AlexeyBorisenko wrote:
а я понял, делаем ссылку примерно такого плана:
zapros.htm?name=$node->title
zapros.htm - это страницы веб формы
$node->title дает Название ноды в которой мы находимся, и откуда нажимаем кнопку.
а в поле делаем %get[name]
и получаем в веб форму автоподстановку наименования предыдущей ноды.

а если webform работает в блоке и загружается через ajax и нод на странице много то что выводятся через Views, как тогда загрузить заголовок и как узнать с какой именно ноды нажали на кнопку вызывающую webform

22 августа 2013 в 17:36

"sser" wrote:
Потому что token [current-page:title] выводить заголовок даной формы. А мне нужно предыдущей ноды. Как правильно прописать этот token.

В Webform можно включить режим отображения в блоке, блок отображать только на определенных нодах, получается все четко (в заказе приходит урл страницы с которой сделали заказ). Есть какой-то модуль, не помню уже, который аяксом блок подгружает, поэтому можно сделать кнопку под нодой "Заказать" - разворачивается блок с Webform на этой же странице и чел видит, то что заказывает. Пойдет?

10 мая 2013 в 2:19

"vitaboss" wrote:
В Webform можно включить режим отображения в блоке

Не получится. Если Webform создавался отдельно, в отдельном типе материала, то он будет понимать только те токены, которые у него отображаются в файлдсете "Token values" при редактировании поля.

А вот если форма Webform сделана в том же типе материала, который нужно "заказать", то может быть. Но создавать к каждой ноде свой вебформ это не айс.

10 мая 2013 в 2:41

"Kremenetskiy" wrote:
Не получится.

Получится!!!

У меня работает, когда-то на поиск решения убил наверное неделю. Модуль Webform глючил, какую-то строчку приходилось каждый раз в модуле править после обновления, токен не передавал значение. Сейчас работает все в текущей версии модуля. Только токен нужно использовать скорее всего [current-page:url]. Это самое простое решение. Вот что еще вспомнил, то ли в отображении полей, то ли в css скрыл это поле от заказчика.

"Kremenetskiy" wrote:
Но создавать к каждой ноде свой вебформ это не айс.

"Kremenetskiy" wrote:
«Джинса» на Drupal или как «заказывать» материалы http://www.drupal.ru/node/23886[/quote]
тоже не айс!

10 мая 2013 в 2:53

"vitaboss" wrote:
Получится!!!

Очень хотелось бы увидеть ваше решение в расписанном виде. Потому что даже если поставить в блоковом webform токен %title (который и означает тайтл текущей ноды), то будет отображаться тайтл ноды webform, а не того материала, который нужно заказать.

Токен [current-page:url] и ему подобные a la токены pathauto, отображаются в полях webform, как есть. А вот обработка GET и POST запросов в виде токенов webform работает на ура.

10 мая 2013 в 3:00

"Kremenetskiy" wrote:
Очень хотелось бы увидеть ваше решение в расписанном виде.

Расписываю... Smile

Установлены модули Webform Tokens, Token, Entity tokens - все ли они нужны для этого или нет не знаю, да и не помню уже.

Все то, что я написал выше + посмотрел реально какой токен установлен в поле. Оказалось что там у меня вот так http://moysite.ru/[current-page:query:q]

Может [site:url][current-page:query:q] тоже будет работать, но почему-то у меня именно как выше написал.

Где я взял это, не спрашивайте, не помню, может где-то здесь сп***л. Но все работает уже года 2, гарантирую!

10 мая 2013 в 12:24

"vitaboss" wrote:
Расписываю...

Спасибо! Но вы не упомянули, что эти токены работают с Webform 4-ой версии. Текущая версия на сей момент Webforn 7.x-4.0-alpha6

А модуль Webform Tokens тут не причем, он нужен для интеграции с такими модулями, как FillPDF, о чем и написано на странице модуля Webform Tokens.

Эх, надо было раньше попробовать Webform 4-ой версии. О возможности предоставления в этой версии прогрессивных токенов же давно велась речь на орге.

10 мая 2013 в 16:01

Вот только токенов по текущей ноде пока маловато:
[current-page:page-number]
[current-page:query:?]
[current-page:url]
[current-page:title]

Но хотя можно и тут лазейки найти. Мне надо было, что бы выводилось значение поля, токена для которого нет в current-page. Но значение этого поля используется для построения алиасов в виде последнего значения в паттерне Pathauto. Я использовал [current-page:url:args:last] и вуаля - значение поля выводится, но только не из самого поля, а из URL.

10 мая 2013 в 16:55

"Kremenetskiy" wrote:
Но вы не упомянули, что эти токены работают с Webform 4-ой версии. Текущая версия на сей момент Webforn 7.x-4.0-alpha6

Я и сам не знал этого, внимания даже не обратил. Извиняйте.

"Kremenetskiy" wrote:
Топикастер может ставить в теме [Решено], если будет использовать Webforn 7.x-4.0-alpha6

"sser (Топикастер)" wrote:
Немного изменил саму задачу и сам функционал. Так что это больше не было нужно

10 мая 2013 в 17:00

"vitaboss" wrote:
Так что это больше не было нужно

Но вещь все равно клевая. Если 4-я версия Webform будет развиваться в плане токенов, то будет вообще замечательно.

10 мая 2013 в 17:02

Не пойму, как Webform 4.x обрабатывает POST-запросы, например по safe_key. Раньше ставишь в default-значение %post[key] и ОК.

10 июня 2013 в 0:20

Создал views. Добавил поле "заголовок", перезаписал его в вид <a class="colorbox-node" href="/node/260?width=600&height=530&foo=[title]">Заказать</a>.
В форме создал поле текстовое
Значение [title] передается в ссылку, а вот в форме отображается просто текст "%get[foo]".
Не пойму в чем проблема.

18 апреля 2016 в 21:12

1. создаете текстовое поле в вебформе. (можно отключить редактирование или спрятать через css)
2. значение по умолчанию [current-page:query:aaa]
3. ссылка на форму ?aaa=something
4. модуль token должен быть установлен
5. замените тему на [решено]

10 августа 2016 в 16:35