Drupal 8自定义模块中的ckeditor

时间:2014-12-23 12:10:43

标签: ckeditor drupal-8

我目前正在为Drupal 8开发一个自定义模块。 在添加后端表单以从用户那里获取一些数据时,我试图将ckeditor配置为替换我的textareas ...并且失败>。<

这里是表单定义:

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

我需要在哪里加载ckeditor来替换我的textarea?

我已经尝试过的事情:

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

drupal_load_library("ckeditor", "ckeditor");

但我无法加载所有依赖项

1 个答案:

答案 0 :(得分:2)

请参阅具有text_format表单类型的Drupal 8表单API。还建议您检查 #default_value

导航至配置>内容创作>文本格式和编辑器为您提供当前可用文本格式的概述。此处列出的内容可用于表单字段的 #format proprty。 (默认回退目前为basic_html

尝试将您的代码更改为:

$form['text'] = array(
    '#type' => 'text_format',
    '#title' => t('Text'),
    '#required' => TRUE,
    '#default_value' => isset($data['text']) ? $data['text'] : '',
    '#format' => 'full_html',
);