Bagaimana cara saya mengubah format teks isi program pada tipe konten halaman menjadi HTML lengkap?

8

Saya memiliki profil pemasangan khusus dan saya harus secara terprogram mengubah format teks isi pada jenis konten halaman menjadi HTML lengkap. Namun, saya tidak berhasil menemukan cara melakukannya.

Bagaimana saya bisa melakukannya?

Natrium
sumber
Anda ingin mengubahnya untuk semua jenis konten?
Aboodred1
@ Aboodred1 hanya untuk halaman (tipe standar)
Codium
Anda sudah membuat format HTML lengkap?
Aboodred1
@ Aboodred1 ya saya lakukan
Codium

Jawaban:

6

Anda dapat melakukannya dengan hook_element_info_alter, ini cuplikan.

<?php
/**
 * Implements hook_element_info_alter().
 *
 * Sets the text format processor to a custom callback function.
 * This code is taken from the Better Formats module.
 */
function MODULENAME_element_info_alter(&$type) {
  if (isset($type['text_format']['#process'])) {
    foreach ($type['text_format']['#process'] as &$callback) {
      if ($callback === 'filter_process_format') {
        $callback = 'MODULENAME_filter_process_format';
      }
    }
  }
}

/**
 * Callback for MODULENAME_element_info_alter().
 */
function MODULENAME_filter_process_format($element) {
  $element = filter_process_format($element);
  // Change the default text format of the 'field_company_spotlight' field to
  // 'Media HTML'. 
  if ($element['#bundle'] == 'company' && $element['#field_name'] == 'field_company_spotlight') {
    $element['format']['format']['#default_value'] = 'media_html';
  }
  return $element;
}
?>

Seperti INI posting menyarankan Anda bisa mencoba

$form['field_name'][LANGUAGE_NONE][0]['#format'] = 'full_html';
$form['field_name'][LANGUAGE_NONE][0]['#format'] = 'filtered_html';

di hook_form_alteratau dihook_FORM_ID_alter

Juga ada modul Format Lebih Baik

Format yang lebih baik adalah modul untuk menambah lebih banyak fleksibilitas ke sistem format input inti Drupal.

niksmac
sumber
2

Jawaban ke-2 Nikhil M adalah yang terbaik -

$form['field_name'][LANGUAGE_NONE][0]['#format'] = 'full_html';  

tidak perlu untuk hook_element_info

Druvision
sumber
Ini termasuk dalam komentar jawaban Nikhil.
timofey.com
-1

Anda hanya perlu satu baris kode

$ result = db_query ('UPDATE field_data_body SET body_format =' full_html 'WHERE bundle=' page ');

Ramsesiden
sumber
Apa yang salah dengan permintaan ini? Saya pikir ini adalah solusi ...
shasi kanth