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?
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?
Jawaban:
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_alter
atau 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.
Jawaban ke-2 Nikhil M adalah yang terbaik -
$form['field_name'][LANGUAGE_NONE][0]['#format'] = 'full_html';
tidak perlu untuk hook_element_info
Anda hanya perlu satu baris kode
$ result = db_query ('UPDATE field_data_body SET body_format =' full_html 'WHERE bundle
=' page ');