Задать вопрос
@Dmax99

Как разместить контактную форму (webform) в теле страницы?

Здравствуйте! Подскажите пожалуйста, а то не понимаю (неопытный)
Я создал форму обратной связи, и хочу ее разместить в теле страницы или статьи. Как это можно сделать?
Текст находиться в CKEditor, может есть какой-то шорткод который сработает?
Drupal 8
Заранее спасибо!
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
andead
@andead
друпал девелопер, фрилансер
// THEMENAME.theme

function THEMENAME_preprocess_node__NODE_ID(array &$vars) {
  $webform_build = [
    '#type' => 'webform',
    '#webform' => 'WEBFORM_ID',
  ];
  $vars['content']['body'][0]['#text'] = str_replace('[webform]', render($webform_build), $vars['content']['body'][0]['#text']);
}


не проверял
Ответ написан
Комментировать
donda
@donda
Webform можно вывести как блок. Отсюда есть множество вариантов как выводить:
  1. Управление блоками, вывести блок, указать условия, например для страницы /about
  2. Поставить paragraph + paragraph_blocks. В Управлении параграфами, добавить тип, например Блок, добавить в созданный параграф поле paragraph_blocks. Для типа содержимого добавить поле параграф и выбрать созданный тип Блок, выводить как угодно. Простой конструктор.
  3. Поставить twig_tweak + выводить через twig. Использовать cheat-sheet
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы