Respuestas:
Para Drupal 7, puede usar el módulo Simplificar . Le permite ocultar las opciones de Formato de texto del área de texto, así como otros elementos en los formularios de nodo.
Puede usar hook_form_alter en un módulo personalizado para hacer esto.
Por ejemplo, en 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;
}
En drupal 6 está el módulo Better Formats que hace exactamente lo que quieres, hay una versión de 7 dev pero viene con una advertencia de que está en desarrollo. Si su sitio aún está en desarrollo, puede valer la pena intentarlo.
En realidad, solo puede matar el elemento de formulario de formato.
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
está pensado como tu nombre de tema personalizado. NUNCA debe codificar un idioma, si necesita usar el lenguaje activo global $language;
para capturarlo.
LANGUAGE_NONE
es una constante con valor und
... no la use und
.
Creo que la mejor solución es no permitir el acceso al elemento de selección de formato de texto. Si lo desarma por completo, enfrentará efectos secundarios no deseados como un editor WYSIWYG que desaparece. Entonces propongo el siguiente código.
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;
}
Usa CSS, la forma más fácil.
#body-add-more-wrapper #edit-body-und-0-format {display: none;}
Buena suerte.
PARA Drupal 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;
}
La otra forma sencilla de ocultar la opción de formato de entrada es eliminar todos los demás formatos de entrada de los perfiles de usuario que desea ocultar. Para ello, vaya a admin-> configuración-> formatos de entrada y elimine todas las funciones de usuario de todos los demás formatos de entrada, excepto uno que desee asignar de forma predeterminada.
Hice esto:
Desmarque "Usar el formato de texto HTML filtrado" y "Administrar formatos de texto y filtros" de personas> permisos para usuarios anónimos y autorizados para que no puedan usar CKeditor.
Por supuesto, puede deshabilitarlo desde CSS "display: none;" para una clase div particular (es .filter-wrapper) y oculta todo el área que has señalado hacia arriba, pero en este caso el área está oculta para todos, incluido el superusuario.
Instalar inyector CSS módulo (actualmente solo hay una versión de desarrollo funcional para Drupal 8).
Luego vaya a la página de administración de CSS Injector (/ admin / config / development / css-injector). Cree una nueva regla CSS con este código (o cualquier código que se aplique a una clase del texto del área de formato):
.filter-guidelines {
display: none;
}
Elija aplicarlo en el tema Seven (o cualquier tema de administrador en uso). ¡Ahorra y disfruta!
No puede eliminar el formato de entrada "Texto sin formato". Y el RTE no se muestra cuando utiliza el formato de entrada "Texto sin formato".
Usaré la opción CSS.
Uso tanto "eliminar todos los demás formatos de entrada de los perfiles de usuario" como css.
Prueba simplificar el módulo.
Simplificar permite ocultar campos particulares de la interfaz de usuario. Esto ayuda a desordenar formularios y presentar una experiencia más fácil de usar para los editores de contenido.
Si desea ocultar los formatos pero aún mantenerlos disponibles, pruebe el módulo " Formatos simplificados ": https://www.drupal.org/project/simplified_formats
Oculta los detalles de los formatos en un pequeño icono de signo de interrogación junto al menú desplegable de selección de formatos. Para muchos filtros de formato de texto, realmente no sirve de nada ocultar por completo las instrucciones que le indican a uno cómo usarlos. Otros filtros son más automáticos. Creo que necesitamos un módulo que nos permita elegir qué se muestra al usuario final y qué no.
También puede usar el módulo Ocultar formatos .
Ocultar formatos le permite contraer los menús desplegables "formato de texto" o "formato de entrada" para limpiar la interfaz de usuario.
Para Drupal 8. Esto elimina el área de formato de dos campos.
/**
* 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);
}
Para Drupal 7, puede:
1) Usar hook_theme_registry_alter(&$theme_registry)
desde un módulo para alterar el registro de temas, eq. La definición de los procesadores temáticos.
2) A continuación, alterar tres funciones temáticos, theme_filter_tips
, theme_filter_tips_more_info
, y theme_filter_guidelines
, y los obligan a devolver nada. Como sigue:
Esta es la función objetivo. Todas las funciones del tema anterior se redirigirán a eso.
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';
}
Cuando borra su caché, Drupal buscará esas definiciones de filtro en la ruta de su módulo de elección (ver drupal_get_path
), y no devolverá nada para cada filtro. Por lo tanto, no más descripciones de formato de texto.
/ 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;
}
Principalmente funcionó para mí con estos pequeños cambios.
$form['body'][LANGUAGE_NONE][0]['format']['#prefix']<br>
$form['body'][LANGUAGE_NONE][0]['format']['#suffix']
hook_form_alter
, sin embargo no estoy seguro acerca de los detalles, así que no voy a publicar esto como una respuesta ...