Форма контакта на странице режима обслуживания
-
29-09-2020 - |
Вопрос
Я использую Drupal 7, и я хотел, чтобы пользователи могли связаться со мной по электронной почте, в то время как я все еще работаю на сайте.Таким образом, мой план был использовать «Создать контактную форму», так как я не хочу подвергать свой адрес электронной почты.
Однако всякий раз, когда я пытаюсь добавить элемент Gensacodicetacode в сообщении режима обслуживания, он полностью игнорируется на выходе.Я думаю, что это потому, что сообщение использует фильтрованный файл HTML, так как у меня есть другие биты HTML, которые рендурируют просто хорошо, но я не вижу возможности для изменения того, какой фильтр используется.
Есть ли способ изменить фильтр на полный HTML или есть лучший вариант?
Решение
Если вам удобно с пользовательским кодировкой вы можете попробовать следующий маршрут
На вашей теме template.php-реализует template_preprocess_mantenace (), это поможет вам представить новые переменные на страницу обслуживания TPL файла, что-то вроде ниже
function yourtheme_name_preprocess_maintenance_page(&$vars) {
if (function_exists('_your_form_builder_funtion')) {
$vars['your_custom_form'] = drupal_render(drupal_get_form('_your_form_builder_function'));
}
}
.
Теперь скопируйте техническое обслуживание .ttpl.php в папке пользовательских тематических шаблонов и в файле шаблона, вы можете использовать переменную, как и любой другой, который уже используется.Так где-то на вашем обслуживании - Page.tpl.php добавить следующее
<div class="contact-form">
<?php print $your_custom_form; ?>
</div>
.