Default input format для ноды Drupal 6

Дата публикации: 20 03 2013 Автор: PazitiFF

Недавно возникла потребность изменить input format по умолчанию на "Full HTML", для определенного типа ноды. Решение было найдено здесь и подпилино под свои нужды. Для этой цели я создал отдельный модуль, в данном случае он называется testmodule. Вкратце алгоритм таков:

Используется hook_form_alter, который изменяет форму, до рендеринга (генерирования) страницы.  Вместо hook подставляем название своего модуля. Далее подставляем id формы, которую хотим изменить reklama_node_form. С помощью element_children получаем ключи структурированного массива, которые не являются атрибутами, для того чтобы получить числовые значения и проходимся по этому массиву с помощью foreach. Перезаписываем форму указав #default_value значение "2", что соответсвует Full HTML

<?php
function testmodule_form_alter($form, $form_state, $form_id) {
  switch ($form_id) { 
    case 'reklama_node_form': // Задаём default body field input format как Full HTML 
      foreach(element_children($form['body_field']['format']) as $key) { 
        $form['body_field']['format'][$key]['#default_value'] = '2'; // Full HTML 
      }
    break;
   }
 }
?>

Комментарии

Хороший сайт!

Большое спасибо!

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Вы можете использовать подсветку исходного кода следующими тегами: <code>, <blockcode>, <apache>, <bash>, <css>, <drupal6>, <html5>, <javascript>, <mysql>, <php>.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.