Drupal: встраивайте контактную форму из контактного модуля прямо в шаблон (а не как отдельную страницу)

Полное раскрытие; Я полный новичок в разработке Drupal.

Мне было поручено встроить контактную форму в нижний колонтитул шаблона нашего сайта. Мне сказали использовать модуль Drupal Contact для этой задачи. Проблема в том, что я не понимаю, как это возможно без кардинальной переделки самого контактного модуля. Есть ли способ встроить форму контактного модуля Drupal в шаблон; а не как отдельная страница? Любой конструктивный вклад приветствуется.

Я также был бы открыт для любого другого способа встраивания формы непосредственно в шаблон Drupal.

Спасибо, Фрэнк


person Frank Rosario    schedule 08.02.2012    source источник


Ответы (2)


Вы сможете добиться этого, добавив следующий код в файл template.php вашей темы:

function mytheme_preprocess_page(&$variables) {
  module_load_include('inc', 'contact', 'contact.pages');
  $variables['contact_form'] = drupal_get_form('contact_site_form');
}

Затем в файле(ах) шаблона страницы вы можете вывести его с помощью следующего фрагмента кода:

<?php print render($contact_form); ?>

Не забудьте заменить «mytheme» на название вашей темы и очистить кеш.

person Madis    schedule 09.02.2012

Фрэнк, у меня сработало следующее, я поместил его прямо в свой шаблон.

require_once drupal_get_path('module', 'contact') .'/contact.pages.inc'; print drupal_render(drupal_get_form('contact_site_form'));

источник

person makbeta    schedule 20.08.2013