답변:
Drupal 7의 경우 Simplify 모듈을 사용할 수 있습니다 . 텍스트 형식 옵션 텍스트 영역과 노드 양식의 다른 요소를 숨길 수 있습니다.
이를 위해 사용자 정의 모듈에서 hook_form_alter를 사용할 수 있습니다.
예를 들어, drupal 7에서 :
// hook_form_alter function
function CUSTOM_MODULE_form_alter(&$form, &$form_state, $form_id) {
// We want this on a specific node type
if ($form_id == 'NODE_TYPE_node_form') {
$form['#after_build'][] = 'CUSTOM_MODULE_NODE_TYPE_node_form_after_build';
}
}
// afterbuild function
function CUSTOM_MODULE_NODE_TYPE_node_form_after_build($form) {
// We want this on a specific field
$form['YOUR_FIELD']['und']['0']['format']['#access'] = FALSE;
return $form;
}
drupal 6에는 더 나은 형식 모듈이 있으며 원하는대로 정확하게 수행하고 7 dev 버전이 있지만 개발 중이라는 경고와 함께 제공됩니다. 귀하의 사이트가 아직 개발중인 경우 사이트를 제공하는 것이 좋습니다.
실제로 서식 양식 항목을 죽일 수 있습니다.
function MY_THEME_form_comment_form_alter(&$form, &$form_state, &$form_id) {
$form['comment_body']['#after_build'][] = 'MY_THEME_configure_comment_form';
}
function MY_THEME_configure_comment_form(&$form) {
unset($form[LANGUAGE_NONE][0]['format']);
return $form;
}
CUSTOM사용자 정의 테마 이름으로 사용됩니다. 당신이해야 결코 활성 언어 사용을 필요로하는 경우, 언어 하드 코드 global $language;를 잡아.
LANGUAGE_NONE값이있는 상수입니다 und... 사용하지 마십시오 und.
가장 좋은 해결책은 텍스트 형식 선택 요소에 대한 액세스를 허용하지 않는 것입니다. 설정을 완전히 해제하면 사라지는 WYSIWYG 편집기로 원하지 않는 부작용이 발생합니다. 그래서 다음 코드를 제안합니다.
function MY_MODULE_form_comment_form_alter(&$form, &$form_state, &$form_id) {
$form['comment_body']['#after_build'][] = 'MY_MODULE_hide_text_format';
}
function MY_MODULE_hide_text_format(&$form) {
$form[LANGUAGE_NONE][0]['format']['#access'] = false;
return $form;
}
가장 쉬운 방법 인 CSS를 사용하십시오.

#body-add-more-wrapper #edit-body-und-0-format {display: none;}

행운을 빕니다.
드루팔 7
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';
}
}
}
}
function MODULENAME_filter_process_format($element) {
$element = filter_process_format($element);
// Change input format to "Filtered HTML" for body fields of NODETYPE_NAME
if ($element['#bundle'] == 'NODETYPE_NAME' && $element['#field_name'] == 'body') {
$element['format']['format']['#default_value'] = 'filtered_html';
$element['format']['format']['#format'] = 'filtered_html';
$element['format']['format']['#value'] = 'filtered_html';
$element['#format'] = 'filtered_html';
}
return $element;
}
입력 형식 옵션을 숨기는 또 다른 간단한 방법은 옵션을 숨기려는 사용자 프로필에서 다른 모든 입력 형식을 제거하는 것입니다. 이를 위해 관리자-> 구성-> 입력 형식으로 이동하여 기본적으로 제공하려는 것을 제외한 다른 모든 입력 형식에서 모든 사용자 역할을 제거하십시오.
CSS Injector 모듈을 설치하십시오 (현재 Drupal 8의 개발 버전 만 있습니다).
그런 다음 CSS Injector (/ admin / config / development / css-injector)의 관리 페이지로 이동하십시오. 이 코드 (또는 서식 영역 텍스트 클래스에 적용되는 코드)를 사용하여 새 CSS 규칙을 만듭니다.
.filter-guidelines {
display: none;
}
Seven 테마 (또는 사용중인 모든 관리자 테마)에 적용하도록 선택하십시오 . 저장하고 즐기십시오!
"일반 텍스트"입력 형식을 제거 할 수 없습니다. "일반 텍스트"입력 형식을 사용할 때 RTE가 표시되지 않습니다.
CSS 옵션을 사용하겠습니다.
형식을 숨기고 사용 가능한 상태로 유지하려면 " 단순화 된 형식 "모듈을 사용해보십시오 . https://www.drupal.org/project/simplified_formats
형식 선택 드롭 다운 옆에 작은 물음표 아이콘으로 형식 세부 사항이 숨겨집니다. 많은 텍스트 형식 필터의 경우 사용 방법을 알려주는 지침을 완전히 숨기는 것은 실제로 좋지 않습니다. 다른 필터는 더 자동적입니다. 최종 사용자에게 표시되는 것과 그렇지 않은 것을 선택할 수있는 모듈이 필요하다고 생각합니다.
Drupal 8의 경우 두 필드의 형식 영역이 제거됩니다.
/**
* Implements hook_form_FORM_ID_alter().
*/
function CUSTOM_MODULE_form_FORM_ID_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['#after_build'][] = 'CUSTOM_MODULE_eform_application_after_build';
}
function CUSTOM_MODULE_eform_application_after_build ($form) {
unset($form['field_experience']['widget'][0]['format']);
unset($form['field_miscellaneous']['widget'][0]['format']);
return ($form);
}
Drupal 7의 경우 다음을 수행 할 수 있습니다.
1) hook_theme_registry_alter(&$theme_registry)테마 레지스트리를 바꾸려면 모듈 내에서 사용하십시오 . 테마 프로세서 정의.
2) 그런 다음 세 가지 테마 기능을 변경, theme_filter_tips, theme_filter_tips_more_info,과 theme_filter_guidelines, 그리고 아무것도 돌려주지 않는 그들을 강제로. 다음과 같이 :
이것이 목표 기능입니다. 위의 모든 테마 기능이 해당 기능으로 리디렉션됩니다.
function _mymodule_filter_tips($tips, $long = FALSE, $extra = ''){
return '';
}
/**
* Implements hook_theme_registry_alter
*/
function mymodule_theme_registry_alter(&$theme_registry) {
$theme_registry['filter_tips']['theme path'] = drupal_get_path( 'module', 'mymodule' );
$theme_registry['filter_tips']['function'] = '_mymodule_filter_tips';
$theme_registry['filter_guidelines']['theme path'] = drupal_get_path( 'module', 'mymodule' );
$theme_registry['filter_guidelines']['function'] = '_mymodule_filter_tips';
$theme_registry['filter_tips_more_info']['theme path'] = drupal_get_path( 'module', 'mymodule' );
$theme_registry['filter_tips_more_info']['function'] = '_mymodule_filter_tips';
}
캐시를 지우면 Drupal은 선택한 모듈의 경로에서 해당 필터 정의를 찾고 (참조 drupal_get_path) 각 필터에 대해 아무것도 반환하지 않습니다. 따라서 더 이상 텍스트 형식 설명이 없습니다.
/ hook_form_alter function
function CUSTOM_MODULE_form_alter(&$form, &$form_state, $form_id) {
// We want this on a specific node type
if ($form_id == 'NODE_TYPE_node_form') {
$form['#after_build'][] = 'CUSTOM_MODULE_NODE_TYPE_node_form_after_build';
}
}
// afterbuild function
function CUSTOM_MODULE_NODE_TYPE_node_form_after_build($form) {
// We want to hide input formats and we can do it like following
$form['body']['und']['0']['format']= '<div style="display:none;">';
$form['body']['und']['0']['format']= '</div>';
return $form;
}
이 작은 변화로 대부분 나를 위해 일했습니다.
$form['body'][LANGUAGE_NONE][0]['format']['#prefix']<br>
$form['body'][LANGUAGE_NONE][0]['format']['#suffix']
hook_form_alter세부 사항에 대해 잘 모르겠으므로 그것을 할 수 있다고 생각합니다 . 그래서 나는 이것을 답으로 게시하지 않을 것입니다 ...