Для сайта на vm-pub не получилось загнать форму обратной связи в блок (пробовал модули Contact block и Formblock - блоки появлялись в списке, устанавливались в регион, но ни формы, ни заголовка не появлялось. При использовании Formblock, если задавалось ограничение по выводу лишь на определенные страницы, эти страницы вообще вылетали с Ошибкой 500) - возможно, связано с тем, что не используется Апач.
Решение:
1. Темизировал файл THEMENAME.theme - добавил в function THEMENAME_preprocess_page код:
$default_form = \Drupal::config('contact.settings')->get('default_form');
$entity = \Drupal::entityManager()
->getStorage('contact_form')
->load($default_form);
$message = \Drupal::entityManager()
->getStorage('contact_message')
->create(array(
'contact_form' => $entity->id(),
));
$variables['contact_form'] = \Drupal::service('entity.form_builder')->getForm($message);
2. Темизировал шаблон страницы - добавил в нужном регионе код:
{{ contact_form }}
There is 1 Comment
Решение сработало частично -
Решение сработало частично - форма выводится и заполняется, но не отправляется. Форма на странице контактов работает нормально.
Возможно, глюк сырого D8.
- Войдите, чтобы оставлять комментарии