Плагин Ckeditor Wordcount для работы с конкретными полями

Я использую модуль CKEditor - WYSIWYG HTML-редактор Drupal 7 и плагин wordcount. Я добавил файл плагина wordcount в каталог плагинов ckeditor, и он заработал, однако мое максимальное количество слов и символов в конфигурации и т. Д. Одинаковы для всех полей. Я хотел бы указать различное максимальное количество слов и символов для конкретных полей. Вот мой конфиг:

ckeditor.config.js

Используя CKEDITOR.replace, я сделал следующее:

  CKEDITOR.replace('edit-body-und-0-summary',
      {
          extraPlugins: 'wordcount',
          wordcount: {
              showCharCount: true,
              maxCharCount: 123
          }
      });

Это сработало, но после обновления страницы оно вернулось к глобальному максимальному количеству слов и символов. Идентификатор Textrea:edit-body-und-0-summary но этот тег повторяется в другом месте страницы.

Как мне добавить уникальный идентификатор в тег textarea и указать разное количество слов для разных полей, например, для полей Summary и Body

1 ответ

Я понял это, надеюсь, это поможет кому-то еще.

Я добавил следующее в свою тему Adminimal Sub, чтобы добавить класс в текстовое поле сводки:

function adminimal_sub_form_alter(&$form, &$form_state, $form_id) { 
 if (isset($form['#node']) && $form['#node']->type == 'article') {
 // Add class to body textarea for various content types. This is used for the Ckeditor wordcount plugin to target summary textarea. 
   $form['body']['und']['0']['summary']['#attributes']['class']['0'] = 'article-summary';
 }
}

Затем загрузил плагин Ckeditor 4 Wordcount и сохранил его в каталоге плагинов (sites/all/libraries/ckeditor/plugins).

В пользовательском интерфейсе Drupal я перешел к настройке> CKEditor Filtered HTML (edit), а в пользовательской конфигурации Javascript в разделе Advanced options я добавил путь к моему ckeditor.config.js (config.customConfig = '/sites/all/themes/global/js/ckeditor.config.js';).

Это мой ckeditor.config.js:

CKEDITOR.editorConfig = function(config) {

 if (this.element.hasClass('article-summary')) {
 config.wordcount = {
    showCharCount: true,
    maxCharCount: 170
    }
}
// Make CKEditor's edit area as high as the textarea would be.
 if (this.element.$.rows > 0) {
    config.height = this.element.$.rows * 20 + 'px';
 }
}

Здесь я могу установить maxwordcount и загружать больше, но для этого проекта нужен только maxwordcount. Таким образом, если модуль Drupal Ckeditor будет обновлен, этот файл не будет затронут.

Другие вопросы по тегам