Respostas:
Para o Drupal 7, você pode usar o módulo Simplify . Ele permite ocultar a área de texto das opções Formato do texto, bem como outros elementos nos formulários do nó.
Você pode usar hook_form_alter em um módulo personalizado para fazer isso.
Por exemplo, no 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;
}
No drupal 6, há o módulo Better Formats, que faz exatamente o que você deseja, existe uma versão 7 dev, mas vem com um aviso de que está em desenvolvimento pesado. Se o site ainda estiver em desenvolvimento, pode valer a pena tentar.
Na verdade, você pode simplesmente matar o item de formato do formulário.
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
destina-se ao seu nome de tema personalizado. Você NUNCA deve codificar um idioma, se precisar do idioma ativo global $language;
para obtê-lo.
LANGUAGE_NONE
é uma constante com valor und
... não use und
.
Eu acho que a melhor solução é impedir o acesso ao elemento de seleção de formato de texto. Se você a desarmar completamente, os efeitos colaterais indesejados serão enfrentados como um editor WYSIWYG que desaparece. Então, proponho o seguinte 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;
}
Use CSS, da maneira mais fácil.
#body-add-more-wrapper #edit-body-und-0-format {display: none;}
Boa sorte.
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;
}
A outra maneira simples de ocultar a opção de formato de entrada é remover todos os outros formatos de entrada dos perfis de usuário que você deseja ocultar a opção. Para isso, acesse admin-> configuração-> formatos de entrada e remova todas as funções de usuário de todos os outros formatos de entrada, exceto o que você deseja atribuir por padrão.
Eu fiz isso:
Desmarcada "Usar o formato de texto HTML filtrado" e "Administrar formatos e filtros de texto" de permissões de pessoas para usuários anônimos e autorizados, para que não pudessem usar o CKeditor.
Claro que você pode desativá-lo do CSS "display: none;" para determinada classe div (é .filter-wrapper) e oculte toda a área que você apontou para cima, mas nesse caso a área está oculta para todos, incluindo o superusuário.
Instale o Injetor CSS módulo (atualmente existe apenas uma versão de desenvolvimento para o Drupal 8).
Em seguida, vá para a página de administração do CSS Injector (/ admin / config / development / css-injector). Crie uma nova regra CSS com este código (ou qualquer código que se aplique a uma classe do texto da área de formatação):
.filter-guidelines {
display: none;
}
Escolha aplicá-lo no tema Sete (ou qualquer tema administrativo em uso). Salve e divirta-se!
Você não pode remover o formato de entrada "Texto sem formatação". E o RTE não é exibido quando você usa o formato de entrada "Texto sem formatação".
Eu vou estar usando a opção CSS.
Experimente o módulo simplificar .
Simplificar permite ocultar determinados campos da interface do usuário. Isso ajuda a desorganizar os formulários e apresentar uma experiência mais amigável aos editores de conteúdo.
Se você deseja ocultar os formatos, mas ainda mantê-los disponíveis, tente o módulo " Formatos simplificados ": https://www.drupal.org/project/simplified_formats
Ele oculta os detalhes dos formatos em um pequeno ícone de ponto de interrogação ao lado da lista suspensa de seleção de formatos. Para muitos filtros de formato de texto, não é bom ocultar completamente as instruções que indicam como usá-las. Outros filtros são mais automáticos. Acho que precisamos de um módulo que permita escolher o que aparece para o usuário final e o que não aparece.
Você também pode usar o módulo Ocultar formatos .
Ocultar formatos permite recolher as listas suspensas "formato de texto" ou "formato de entrada" para limpar a interface do usuário.
Para o Drupal 8. Isso remove a área de formato para dois 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 o Drupal 7, você pode:
1) Use hook_theme_registry_alter(&$theme_registry)
de dentro de um módulo para alterar o registro do tema, eq. a definição de processadores de temas.
2) Em seguida, alterar três funções temáticos, theme_filter_tips
, theme_filter_tips_more_info
, e theme_filter_guidelines
, e forçá-los a retornar nada. Do seguinte modo:
Esta é a função de destino. Todas as funções do tema acima serão redirecionadas para isso.
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';
}
Quando você limpa seu cache, o Drupal procura essas definições de filtro no caminho do seu módulo de escolha (consulte a seção drupal_get_path
) e não retorna nada para cada filtro. Portanto, não há mais descrições 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;
}
Trabalhou principalmente para mim com essas pequenas mudanças.
$form['body'][LANGUAGE_NONE][0]['format']['#prefix']<br>
$form['body'][LANGUAGE_NONE][0]['format']['#suffix']
hook_form_alter
no entanto Eu não tenho certeza sobre os detalhes, então eu não vou postar isso como uma resposta ...