Как скрыть параметры входного формата и текст справки в текстовом поле?

Как скрыть параметры входного формата и текст справки в текстовом поле при добавлении | редактирования узла?

Снимок экрана - часть, чтобы скрыть выбранный красный прямоугольник

32 голоса | спросил Cosmodrom 28 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 28 Sep 2011 18:40:36 +0400 2011, 18:40:36

18 ответов


26

Для Drupal 7 вы можете использовать модуль Упростить . Это позволяет скрыть текстовые поля Text Format, а также другие элементы в виде узлов.

ответил BWPanda 11 AMpThu, 11 Apr 2013 08:19:34 +040019Thursday 2013, 08:19:34
25

Вы можете использовать hook_form_alter в пользовательском модуле для этого.

Например, в drupal 7:

//функция hook_form_alter
функция CUSTOM_MODULE_form_alter (& $ form, & $ form_state, $ form_id) {
    //Мы хотим это на конкретном типе узла
    if ($ form_id == 'NODE_TYPE_node_form') {
        $ form ['# after_build'] [] = 'CUSTOM_MODULE_NODE_TYPE_node_form_after_build';
    }
}

//функция после сборки
функция CUSTOM_MODULE_NODE_TYPE_node_form_after_build ($ form) {
    //Мы хотим это в определенном поле
    $ form ['YOUR_FIELD'] ['und'] ['0'] ['format'] ['# access'] = FALSE;
    return $ form;
}
ответил fourmi4x 6 Jam1000000amFri, 06 Jan 2012 03:14:45 +040012 2012, 03:14:45
12

В drupal 6 есть модуль Лучшие форматы , который делает именно то, что вы хотите, есть версия 7 dev, но она приходит с предупреждением, что он находится в тяжелом развитии. Если сайт все еще находится в разработке, возможно, стоит потратить на него выстрел.

ответил digital 28 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 28 Sep 2011 19:00:54 +0400 2011, 19:00:54
8

Фактически вы можете просто убить элемент формы.

функция MY_THEME_form_comment_form_alter (& form form, & $ form_state, & $ form_id) {
  $ form ['comment_body'] ['# after_build'] [] = 'MY_THEME_configure_comment_form';
}

функция MY_THEME_configure_comment_form (& $ form) {
  снята с охраны ($ форма [LANGUAGE_NONE] [0] [ 'Формат']);
  return $ form;
}
ответил doublejosh 8 J0000006Europe/Moscow 2012, 05:44:03
6

Используйте CSS, самый простой способ. Firebug

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

Сила CSS и Firebug

Удачи.

ответил Ionut Adrian Luchian 6 Jam1000000amFri, 06 Jan 2012 03:22:26 +040012 2012, 03:22:26
6

Я считаю, что лучшим решением является запрет доступа к элементу выбора текстового формата. Если вы полностью отключите его, вы столкнетесь с нежелательными побочными эффектами в качестве исчезающего редактора WYSIWYG. Поэтому я предлагаю следующий код.

функция MY_MODULE_form_comment_form_alter (& form $ form, & $ form_state, & $ form_id) {
  $ form ['comment_body'] ['# after_build'] [] = 'MY_MODULE_hide_text_format';
}


функция MY_MODULE_hide_text_format (& $ form) {
  $ form [LANGUAGE_NONE] [0] ['format'] ['# access'] = false;
  return $ form;
}
ответил user5950 13 +03002015-10-13T01:45:56+03:00312015bEurope/MoscowTue, 13 Oct 2015 01:45:56 +0300 2015, 01:45:56
5

ДЛЯ Drupal 7

функция 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';
      }
    }
  }
}


функция MODULENAME_filter_process_format ($ element) {
  $ element = filter_process_format ($ element);

  //Измените формат ввода на «Filtered HTML» для полей тела NODETYPE_NAME

  if ($ element ['# bundle'] == 'NODETYPE_NAME' & & $ element ['# field_name'] == 'body') {

    $ element ['format'] ['format'] ['# default_value'] = 'filt_html';
    $ element ['format'] ['format'] ['# format'] = 'filt_html';
    $ element ['format'] ['format'] ['# value'] = 'filt_html';
    $ element ['# format'] = 'filter_html';

  }
  return $ element;
}
ответил nxplace 20 J0000006Europe/Moscow 2014, 19:58:25
2

Другой простой способ скрыть параметр входного формата - удалить все остальные форматы ввода из профилей пользователей, которые вы хотите скрыть. Для этого перейдите в admin-> config-> входные форматы и удалите все пользовательские роли из всех других форматов ввода, кроме тех, которые вы хотите предоставить по умолчанию.

ответил Ashok Sharma 17 Jpm1000000pmTue, 17 Jan 2012 13:53:39 +040012 2012, 13:53:39
2

Я сделал это:

Непроверено «Использовать фильтрованный текстовый формат HTML» и «Администрировать текстовые форматы и фильтры» от людей> разрешений для анонимных и авторизованных пользователей, чтобы они не могли использовать CKeditor.

Конечно, вы можете отключить его из CSS с помощью «display: none»; для определенного класса div (это .filter-wrapper) и скрыть всю область, на которую вы указали верхнюю, но в этом случае область скрыта для всех, включая суперпользователя.

ответил zurab lanchava 26 PMpFri, 26 Apr 2013 23:22:46 +040022Friday 2013, 23:22:46
1

Установите CSS Injector (в настоящее время для Drupal 8 есть только рабочая версия разработки).

Затем перейдите на страницу администрирования CSS Injector (/admin /config /development /css-injector). Создайте новое правило CSS с помощью этого кода (или любого кода, применяемого к классу текста области форматирования):

.filter-guidelines {
    display: none;
}

Выберите, чтобы применить его на тему Seven (или любую используемую тему администратора). Сохраните и наслаждайтесь!

ответил Whatwatt 15 J0000006Europe/Moscow 2016, 16:41:09
0

Вы не можете удалить формат ввода «Обычный текст». И RTE не отображается, когда вы используете формат ввода «Обычный текст».

Я буду использовать параметр CSS.

ответил ibakayoko 20 MaramTue, 20 Mar 2012 01:45:18 +04002012-03-20T01:45:18+04:0001 2012, 01:45:18
0

Я использую как «удаление всех других форматов ввода из профилей пользователя», так и css.

ответил ibakayoko 20 MaramTue, 20 Mar 2012 01:45:18 +04002012-03-20T01:45:18+04:0001 2012, 01:45:18
0

Попробуйте упростить модуль.

  

Упрощение позволяет отдельным полям скрываться от пользователя   интерфейс. Это помогает де-загромождать формы и   удобный для пользователей контент-редакторов.

ответил allabakash.g 11 12013vEurope/Moscow11bEurope/MoscowMon, 11 Nov 2013 16:42:32 +0400 2013, 16:42:32
0

Если вы хотите скрыть форматы, но сохраните их, попробуйте « упрощенные форматы "модуль: https://www.drupal.org/project/simplified_formats

Он скрывает детали форматов в маленьком значке вопросительного знака рядом с раскрывающимся списком выбора формата. Для многих фильтров текстового формата действительно нехорошо полностью скрывать инструкции, которые рассказывают о том, как их использовать. Другие фильтры более автоматические. Я думаю, нам нужен модуль, который позволяет нам выбирать то, что отображается до конечного пользователя, а что нет.

ответил deanflory 9 J000000Wednesday14 2014, 08:15:27
0

Вы также можете использовать Скрыть форматы .

  

Скрыть форматы позволяет свернуть раскрывающийся список «текстовый формат» или «входной формат» для очистки пользовательского интерфейса.

ответил disnel 3 J000000Wednesday13 2013, 01:40:34
0

Для Drupal 8. Это удаляет область формата для двух полей.

/**
 * Реализует hook_form_FORM_ID_alter ().
 * /
функция CUSTOM_MODULE_form_FORM_ID_alter (& $ form, \ Drupal \ Core \ Form \ FormStateInterface $ form_state, $ form_id) {
  $ form ['# after_build'] [] = 'CUSTOM_MODULE_eform_application_after_build';
}

функция CUSTOM_MODULE_eform_application_after_build ($ form) {
  снята с охраны ($ форма [ 'field_experience'] [ 'виджета'] [0] [ 'Формат']);
  снята с охраны ($ форма [ 'field_miscellaneous'] [ 'виджета'] [0] [ 'Формат']);
  return ($ form);
}
ответил Andre Angelantoni 4 J0000006Europe/Moscow 2015, 04:45:36
0

Для 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 = '') {
  вернуть '';
}

/**
 * Реализует 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'] ['path path'] = drupal_get_path ('module', 'mymodule');
  $ theme_registry ['filter_guidelines'] ['function'] = '_mymodule_filter_tips';
  $ theme_registry ['filter_tips_more_info'] ['path path'] = drupal_get_path ('module', 'mymodule');
  $ theme_registry ['filter_tips_more_info'] ['function'] = '_mymodule_filter_tips';
}

Когда вы очищаете свой кеш, Drupal будет искать эти определения фильтров на пути вашего выбранного модуля (см. drupal_get_path) и ничего не возвращать для каждого фильтра. Следовательно, больше нет текстовых форматов.

ответил Mauro Colella 2 PMpSat, 02 Apr 2016 14:27:33 +030027Saturday 2016, 14:27:33
0
/hook_form_alter функция
функция CUSTOM_MODULE_form_alter (& $ form, & $ form_state, $ form_id) {
    //Мы хотим это на конкретном типе узла
    if ($ form_id == 'NODE_TYPE_node_form') {
        $ form ['# after_build'] [] = 'CUSTOM_MODULE_NODE_TYPE_node_form_after_build';
    }
}

//функция после сборки
функция CUSTOM_MODULE_NODE_TYPE_node_form_after_build ($ form) {

    //Мы хотим скрыть форматы ввода, и мы можем сделать это следующим образом
    $ form ['body'] ['und'] ['0'] ['format'] = '<div style = "display: none;">';
    $ form ['body'] ['und'] ['0'] ['format'] = '</div>';

    return $ form;
}

В основном Работала для меня с этими небольшими изменениями.

$ форма [ 'тело'] [LANGUAGE_NONE] [0] [ 'Формат'] [ '# Префикс'] & Lt; & шир GT;
$ Форма [ 'тело'] [LANGUAGE_NONE] [0] [ 'формат'] [ '# суффикс']
ответил miske 9 Mayam12 2012, 11:36:30

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132