Drupal: встроить контактную форму из контактного модуля непосредственно в шаблон (а не как отдельную "страницу")
Полное раскрытие; Я полный новичок в разработке Drupal.
Мне было поручено встроить контактную форму в нижний колонтитул шаблона нашего сайта. Мне сказали использовать модуль Drupal Contact для этой задачи. Проблема в том, что я не понимаю, как это возможно без существенного изменения самого контактного модуля. Есть ли способ встроить форму контактного модуля Drupal в шаблон; а не как отдельную страницу? Любой конструктивный вклад приветствуется.
Я также был бы открыт для любого другого способа встраивания формы непосредственно в шаблон Drupal.
Спасибо фрэнк
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" названием вашей фактической темы и очистить кеши.
Фрэнк, у меня сработало следующее, я поместил его прямо в свой шаблон.
require_once drupal_get_path('module', 'contact') .'/contact.pages.inc';
print drupal_render(drupal_get_form('contact_site_form'));