Làm cách nào để tôi lập trình thay đổi định dạng văn bản cơ thể trên loại nội dung trang thành HTML đầy đủ?


8

Tôi có một hồ sơ cài đặt tùy chỉnh và tôi phải lập trình thay đổi định dạng văn bản cơ thể trên loại nội dung trang thành HTML đầy đủ. Tuy nhiên, tôi đã không quản lý để tìm cách làm điều đó.

Tôi làm nó như thế nào?


Bạn muốn thay đổi nó cho tất cả các loại nội dung?
Aboodred1

@ Aboodred1 chỉ dành cho trang (loại tiêu chuẩn)
Codium

bạn đã tạo định dạng HTML đầy đủ chưa?
Aboodred1

@ Aboodred1 có tôi đã làm
Codium

Câu trả lời:


6

Bạn có thể làm điều đó với hook_element_info_alter, đây là một đoạn.

<?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;
}
?>

Như NÀY bài gợi ý bạn có thể thử

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

trong hook_form_alterhoặc trong của bạnhook_FORM_ID_alter

Ngoài ra còn có mô-đun định dạng tốt hơn

Các định dạng tốt hơn là một mô-đun để thêm linh hoạt hơn cho hệ thống định dạng đầu vào cốt lõi của Drupal.


2

Câu trả lời thứ 2 của Nikhil M là tốt nhất -

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

không cần hook_element_info


Điều này thuộc về nhận xét câu trả lời của Nikhil.
timofey.com

-1

bạn chỉ cần một dòng mã

$ result = db_query ('CẬP NHẬT trường_data_body SET body_format =' full_html 'WHERE bundle=' page ');


Điều gì sai với truy vấn này? Tôi nghĩ đó là một cách giải quyết ...
shasi kanth
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.