Форма контакта на странице режима обслуживания

drupal.stackexchange https://drupal.stackexchange.com/questions/174209

  •  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>
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с drupal.stackexchange
scroll top