Всем привет любое время суток!
Подскажите люди, кто разбирается. Как можно в 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".
Ссылку на форму надо генерить в препроцессинге ноды и вставлять в нужное место в шаблоне ноды.
Да я видел это пример, и пробовал, но у меня не получилось вывести заголовок ноды в поле формы. Потратил немало времени. Но увы безрезультатно. Возможно что-то не так прописывал. Поэтому и обратился на форум.
Да я видел это пример, и пробовал, но у меня не получилось вывести заголовок ноды в поле формы. Потратил немало времени. Но увы безрезультатно. Возможно что-то не так прописывал. Поэтому и обратился на форум.
- создать в форме поле 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". Только я не пойму как правильно нужно это прописать.
Да, виноват - не прочитал внимательно постановку задачи.
Описанное решение относиться к случаю когда форма прицеплена блоком внизу страницы а не к вашей задаче.
Что в итоге автор? получилось?
Нет. Немного изменил саму задачу и сам функционал. Так что это больше не было нужно
а я понял, делаем ссылку примерно такого плана:
zapros.htm?name=$node->title
zapros.htm - это страницы веб формы
$node->title дает Название ноды в которой мы находимся, и откуда нажимаем кнопку.
а в поле делаем %get[name]
и получаем в веб форму автоподстановку наименования предыдущей ноды.
а если webform работает в блоке и загружается через ajax и нод на странице много то что выводятся через Views, как тогда загрузить заголовок и как узнать с какой именно ноды нажали на кнопку вызывающую webform
«Джинса» на Drupal или как «заказывать» материалы http://www.drupal.ru/node/23886
В Webform можно включить режим отображения в блоке, блок отображать только на определенных нодах, получается все четко (в заказе приходит урл страницы с которой сделали заказ). Есть какой-то модуль, не помню уже, который аяксом блок подгружает, поэтому можно сделать кнопку под нодой "Заказать" - разворачивается блок с Webform на этой же странице и чел видит, то что заказывает. Пойдет?
Не получится. Если Webform создавался отдельно, в отдельном типе материала, то он будет понимать только те токены, которые у него отображаются в файлдсете "Token values" при редактировании поля.
А вот если форма Webform сделана в том же типе материала, который нужно "заказать", то может быть. Но создавать к каждой ноде свой вебформ это не айс.
Получится!!!
У меня работает, когда-то на поиск решения убил наверное неделю. Модуль Webform глючил, какую-то строчку приходилось каждый раз в модуле править после обновления, токен не передавал значение. Сейчас работает все в текущей версии модуля. Только токен нужно использовать скорее всего [current-page:url]. Это самое простое решение. Вот что еще вспомнил, то ли в отображении полей, то ли в css скрыл это поле от заказчика.
Очень хотелось бы увидеть ваше решение в расписанном виде. Потому что даже если поставить в блоковом webform токен %title (который и означает тайтл текущей ноды), то будет отображаться тайтл ноды webform, а не того материала, который нужно заказать.
Токен [current-page:url] и ему подобные a la токены pathauto, отображаются в полях webform, как есть. А вот обработка GET и POST запросов в виде токенов webform работает на ура.
Расписываю...
Установлены модули Webform Tokens, Token, Entity tokens - все ли они нужны для этого или нет не знаю, да и не помню уже.
Все то, что я написал выше + посмотрел реально какой токен установлен в поле. Оказалось что там у меня вот так http://moysite.ru/[current-page:query:q]
Может [site:url][current-page:query:q] тоже будет работать, но почему-то у меня именно как выше написал.
Где я взял это, не спрашивайте, не помню, может где-то здесь сп***л. Но все работает уже года 2, гарантирую!
Спасибо! Но вы не упомянули, что эти токены работают с Webform 4-ой версии. Текущая версия на сей момент Webforn 7.x-4.0-alpha6
А модуль Webform Tokens тут не причем, он нужен для интеграции с такими модулями, как FillPDF, о чем и написано на странице модуля Webform Tokens.
Эх, надо было раньше попробовать Webform 4-ой версии. О возможности предоставления в этой версии прогрессивных токенов же давно велась речь на орге.
Топикастер может ставить в теме [Решено], если будет использовать Webforn 7.x-4.0-alpha6
Вот только токенов по текущей ноде пока маловато:
[current-page:page-number]
[current-page:query:?]
[current-page:url]
[current-page:title]
Но хотя можно и тут лазейки найти. Мне надо было, что бы выводилось значение поля, токена для которого нет в current-page. Но значение этого поля используется для построения алиасов в виде последнего значения в паттерне Pathauto. Я использовал [current-page:url:args:last] и вуаля - значение поля выводится, но только не из самого поля, а из URL.
Я и сам не знал этого, внимания даже не обратил. Извиняйте.
Но вещь все равно клевая. Если 4-я версия Webform будет развиваться в плане токенов, то будет вообще замечательно.
Не пойму, как Webform 4.x обрабатывает POST-запросы, например по safe_key. Раньше ставишь в default-значение %post[key] и ОК.
У Views тоже может быть заголовок
%server[HTTP_REFERER]
Создал views. Добавил поле "заголовок", перезаписал его в вид
<a class="colorbox-node" href="/node/260?width=600&height=530&foo=[title]">Заказать</a>
.В форме создал поле текстовое
Значение [title] передается в ссылку, а вот в форме отображается просто текст "%get[foo]".
Не пойму в чем проблема.
1. создаете текстовое поле в вебформе. (можно отключить редактирование или спрятать через css)
2. значение по умолчанию [current-page:query:aaa]
3. ссылка на форму ?aaa=something
4. модуль token должен быть установлен
5. замените тему на [решено]
Для 8 и 9 версии есть модуль, который добавляет токены полей и другую инфу текущей страницы: https://www.drupal.org/project/current_page_entity_tokens