Drupal. Контактная форма на любой странице сайта

Drupal. Контактная форма на любой странице сайта

Очень часто у нас возникает потребность разместить там, где нам удобно (а не только там, где положено по умолчанию) контактную форму для пользователей. Чтобы они могли спокойно отправить вам с сайта свое сообщение. По умолчанию Drupal этого вроде-бы не позволяет: есть страница “Контакты” и хватит.

На самом же деле в этой задаче нет ничего сложного. Достаточно включить модуль Contact, отвечающий за эту самую форму и вставить на нужную страницу кусок PHP кода и все! Кусок кода вот такой:

<?php
module_load_include('inc', 'contact', 'contact.pages');
$form = drupal_get_form('contact_site_form');
print render($form);
?>

Вставлять его надо в текстовом режиме (без WYSIWYG) и с включенным PHP фильтром, все-таки PHP код, как-никак. :)

Результат будет вот такой примерно:

Хотя, от текущей активной темы его внешний вид зависит напрямую.

Но и это еще не все! Существует потрясающий модуль Webform, который позволяет “вносить разнообразие” в контактную форму сайта и создавать любое количество контактных форм с нужным набором полей и т.п. Очень удобная вещь! Возможно, как-нибудь я расскажу, как ей пользоваться.

Кстати

Чтобы нужная часть статьи отобразилась в виде анонса на главной или на странице тега таксономии – достаточно вставить в конец этой нужной части следующий код:

<!--break-->

И все! Начало статьи вместе со всем форматированием и картинками будет продублировано в анонсе.

Естественно, делать это надо не в WYSIWYG режиме, при разрешенных фильтрах кода и не в режиме ввода обычного текста.