Lampirkan WYSIWYG ke Formulir Drupal

12

Dengan formulir Drupal khusus, bagaimana Anda bisa melampirkan fungsionalitas WYSIWYG ke textarea dengan modul WYSIWYG?

Kevin
sumber
Saya menemukan solusi yang dikirimkan oleh moon.watcher dan Dylan Tack bekerja dengan sempurna.

Jawaban:

2

tinjau indikasi ini untuk Drupal 7 (dengan sedikit indikasi untuk drupal 6) http://drupal.org/node/1031160 . secara khusus adalah tentang bagaimana menampilkan editor di dalam textarea di drupal 7, jadi saya kira itu bisa berguna untuk memulai (tampaknya komentar terakhir sudah diuji coba).

mungkin bisa menjadi alternatif untuk melakukan ini / dengan WYSIWYG.

cigotete
sumber
8

Modul wysiwyg terkait dengan sistem format input.

Gunakan '#type' => 'text_format'saat mendefinisikan area teks Anda.

Dylan Tack
sumber
7

Anda harus menggunakan type = 'text_format' sebagai ganti area teks. dan format = 'editor_format'. Kode akan terlihat seperti ini.

$form['description'] = array(
  '#type' => 'text_format',
  '#title' => t('Description'),
  '#format' => 'full_html' //the format used for editor.
);
Paulson Peter
sumber
Ini adalah opsi yang benar. Tetapi saya tidak bisa mendapatkan safe_value dalam bentuk.
Guru
4

Ini milik saya:

$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,
);

Saya harus menambahkan ['value']ke #default_valuepenyebabnya tidak dimuat setelah disimpan.

Referensi API Formulir 7x

Francisco Corrales Morales
sumber
1
Wow memang, variable_get('foo', '')['value']sufiks benar-benar diperlukan.
leymannx
0

Modul WYSIWYG hanyalah cara untuk menggunakan salah satu dari banyak editor wysiwyg di luar sana. Setelah Anda menginstal modul wysiwyg ( http://drupal.org/project/wysiwyg ), buka konfigurasi untuk modul (admin / config / content / wysiwyg). Akan ada instruksi instalasi untuk banyak editor Wysiwyg yang tersedia. Misalnya, untuk FCKeditor, dikatakan sebagai berikut:

Ekstrak arsip dan salin isinya ke folder baru di lokasi berikut: situs / semua / perpustakaan / fckeditor

Jadi perpustakaan yang sebenarnya dapat ditemukan di: sites / all / libraries / fckeditor / fckeditor.js

Jadi, unduh editor, ekstrak arsip ke direktori yang diberikan. Setelah Anda melakukan ini (dengan asumsi Anda telah melakukannya dengan benar), Anda akan dapat mengubah editor untuk format input yang diberikan pada layar konfigurasi Wysiwyg. Anda kemudian perlu menetapkan operasi yang berbeda untuk setiap jenis (HTML yang difilter, HTML lengkap, dll.). Klik "Edit" di bawah operasi dalam admin / config / content / wysiwyg di baris untuk format input mana saja yang Anda minati. Dari sini, periksa tombol mana yang Anda inginkan.

mrryanjohnston
sumber
CKEditor juga dapat diinstal "berdiri sendiri", tanpa menggunakan editor WYSIWYG. Lihat drupal.org/project/ckeditor .
Jorrit Schippers
0

Tampaknya tidak mungkin dengan Wysiwyg versi 7.x-2, tetapi pembuat formulir untuk pengaturan profil menggunakan array berikut:

  $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',
    // ...
  );

Indeks array "access_pages" akan memungkinkan untuk mengatur halaman mana editor ditampilkan, tetapi modul tidak memberikan bidang formulir apa pun untuk mengubah kode itu, juga fungsi apa pun tidak menggunakan nilai itu.

Bisa jadi nilai itu digunakan dalam versi sebelumnya, dan kode untuk menanganinya masih porting, atau opsi itu sedang diperkenalkan dalam versi modul berikutnya.

kiamlaluno
sumber