Приєднайте WYSIWYG до форми Drupal


12

Як за допомогою спеціальної форми Drupal, як можна приєднати функціонал WYSIWYG до текстової області за допомогою модуля WYSIWYG?


Я знайшов рішення, представлене moon.watcher, і Ділан Так працює чудово.

Відповіді:


2

перегляньте цей показник на Drupal 7 (з невеликою ознакою для drupal 6) http://drupal.org/node/1031160 . конкретно про те, як відобразити редактор всередині textarea в drupal 7, тому я думаю, що це може бути корисно для початку (схоже, що останні коментарі мають перевірений спосіб).

може бути альтернативою зробити це замість / з WYSIWYG.


8

Модуль wysiwyg прив’язаний до системи формату введення.

Використовуйте '#type' => 'text_format'під час визначення області тексту.


7

Ви повинні використовувати type = 'text_format' замість області тексту. і format = 'editor_format'. Код буде виглядати приблизно так.

$form['description'] = array(
  '#type' => 'text_format',
  '#title' => t('Description'),
  '#format' => 'full_html' //the format used for editor.
);

Це правильний варіант. Але я не можу отримати safe_value у формі.
Гуру

4

Ось моя:

$form['my_module_my_form_my_field'] = array(
  '#type' => 'text_format',
  '#title' => t('Awesome title'),
  '#format' => isset($edit['format']) ? $edit['format'] : NULL,
  '#base_type' => 'textarea',
  '#default_value' => variable_get('my_module_my_form_my_field', '')['value'],
  '#description' => t("Awesome description."),
  '#required' => FALSE,
  '#maxlength' => 500,
);

Я повинен був додати ['value']до #default_valueсправи він не був завантажений після врятований.

7x довідник API API


1
Нічого так, variable_get('foo', '')['value']суфікс дійсно необхідний.
leymannx

0

Модуль WYSIWYG - це лише спосіб використовувати один із багатьох редакторів wysiwyg. Після встановлення модуля wysiwyg ( http://drupal.org/project/wysiwyg ) перейдіть до конфігурації модуля (admin / config / content / wysiwyg). Будуть доступні інструкції з установки для багатьох редакторів Wysiwyg. Наприклад, для FCKeditor він говорить наступне:

Витягніть архів і скопіюйте його вміст у нову папку в такому місці: сайти / всі / бібліотеки / fckeditor

Тож фактичну бібліотеку можна знайти за адресою: sites / all / library / fckeditor / fckeditor.js

Отже, завантажте редактор, витягніть архів у заданий каталог. Після цього (якщо ви зробили це правильно), ви зможете змінити редактор для заданих форматів введення на екрані конфігурації Wysiwyg. Тоді вам потрібно буде призначити різні операції для кожного типу (відфільтрований HTML, повний HTML тощо). Клацніть "Редагувати" під операціями в адміністраторі / конфігурації / контенті / wysiwyg у рядку для того, який формат введення вас зацікавив. Звідси перевірте, які кнопки ви хочете.


CKEditor також можна встановити "окремо", не використовуючи редактор WYSIWYG. Див. Drupal.org/project/ckeditor .
Хорріт Шипперс

0

Здається, це не можливо для Wysiwyg версії 7.x-2, але конструктор форм для налаштувань профілю використовує такий масив:

  $profile['settings'] += array(
    'default' => TRUE,
    'user_choose' => FALSE,
    'show_toggle' => TRUE,
    'theme' => 'advanced',
    'language' => 'en',
    'access' => 1,
    'access_pages' => "node/*\nuser/*\ncomment/*",
    'buttons' => array(),
    'toolbar_loc' => 'top',
    'toolbar_align' => 'left',
    // ...
  );

Індекс масиву "access_pages" дозволить встановити, для яких сторінок відображається редактор, але модуль не містить жодного поля форми для зміни цього коду, а також жодна функція не використовує це значення.

Можливо, це значення використовувалося в попередніх версіях, і код для обробки з ним все ще переноситься, або цей параметр вводиться в наступних версіях модуля.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.