2014-12-23 2 views
1

В настоящее время я разрабатываю настраиваемый модуль для Drupal 8. При добавлении бэкэнд-формы для получения некоторых данных от пользователей я попытался настроить ckeditor на замену моих текстовых полей ... и не удалось>. <ckeditor в Drupal 8 пользовательский модуль

здесь является определение формы:

$form['text'] = array(
     '#type' => 'textarea', 
     '#title' => t('Text'), 
     '#required' => TRUE, 
     '#attributes' => array(
      'id' => 'text', 
      'style' => 'max-width: 650px' 
     ), 
     '#default_value' => $data['text'] 
    ); 

, где мне нужно, чтобы загрузить CKEditor, чтобы заменить мой текстовое поле?

вещи, которые я уже пробовали:

$build['#attached'] = array(
     'js' => array(
      drupal_get_path('module', 'ckeditor') . '/js/ckeditor.js' 
drupal_render($build); 

и

drupal_load_library("ckeditor", "ckeditor"); 

, но я не могу загрузить все зависимости

ответ

2

Обратитесь к Drupal 8 вида API, который имеет тип text_format форму , Рекомендуется также проверить ваш #default_value.

Перейти к Конфигурация> Авторизация контента> Текстовые форматы и редакторы дает вам обзор существующих доступных текстовых форматов. Те, которые перечислены здесь, могут быть использованы в размере #format вашего поля формы. (По умолчанию запасной вариант в настоящее время является basic_html)

Попробуйте изменить код:

$form['text'] = array(
    '#type' => 'text_format', 
    '#title' => t('Text'), 
    '#required' => TRUE, 
    '#default_value' => isset($data['text']) ? $data['text'] : '', 
    '#format' => 'full_html', 
); 
Смежные вопросы