WYSIWYG'yi Drupal Formuna Ekle


12

Özel bir Drupal formuyla, WYSIWYG işlevini WYSIWYG modülü ile bir metin alanına nasıl ekleyebilirsiniz?


Moon.watcher tarafından sunulan çözümü buldum ve Dylan Tack mükemmel çalışıyor.

Yanıtlar:


2

bu göstergeyi Drupal 7'ye inceleyin (biraz drupal 6 göstergesiyle) http://drupal.org/node/1031160 . özellikle drupal 7'de textarea içinde bir editör nasıl görüntüleneceği ile ilgili, bu yüzden başlangıç ​​için yararlı olabilir sanırım (son yorum test edilmiş bir yol var gibi görünüyor).

bunun yerine / WYSIWYG ile bir alternatif olabilir.


8

Wysiwyg modülü giriş formatı sistemine bağlıdır.

'#type' => 'text_format'Metin alanınızı tanımlarken kullanın .


7

Metin alanı yerine type = 'text_format' kullanmalısınız. ve format = 'düzenleyici_formu'. Kod şöyle görünecektir.

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

Bu doğru seçenektir. Ama formda safe_value alamıyorum.
Guru

4

İşte benim:

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

Ben eklemek zorunda ['value']için #default_valuekaydedilen sonra yüklenen değildi neden.

7x Form API Referansı


1
Gerçekten, variable_get('foo', '')['value']sonek gerçekten gerekli.
leymannx

0

WYSIWYG modülü, birçok wysiwyg editöründen birini kullanmanın bir yoludur. Wysiwyg modülünü ( http://drupal.org/project/wysiwyg ) kurduktan sonra , modülün yapılandırmasına gidin (admin / config / content / wysiwyg). Mevcut birçok Wysiwyg editörleri için kurulum talimatları olacaktır. Örneğin, FCKeditor için şunları söylüyor:

Arşivi çıkartın ve içeriğini şu konumda yeni bir klasöre kopyalayın: sites / all / libraries / fckeditor

Böylece, gerçek kütüphane şurada bulunabilir: sites / all / library / fckeditor / fckeditor.js

Yani, editörü indirin, arşivi verilen dizine çıkarın. Bunu yaptıktan sonra (doğru yaptığınızı varsayarsak), Wysiwyg yapılandırma ekranındaki belirli giriş biçimleri için düzenleyiciyi değiştirebilirsiniz. Daha sonra her tür için farklı işlemler atamanız gerekir (filtrelenmiş HTML, tam HTML vb.). Hangi giriş biçimiyle ilgilendiğinizi öğrenmek için satırdaki admin / config / content / wysiwyg içindeki işlemler altında "Düzenle" yi tıklayın. Buradan, istediğiniz düğmeleri kontrol edin.


CKEditor, WYSIWYG editörü kullanılmadan "tek başına" da kurulabilir. Bkz. Drupal.org/project/ckeditor .
Jorrit Schippers

0

Wysiwyg sürüm 7.x-2 ile mümkün görünmüyor, ancak profil ayarları için form oluşturucu aşağıdaki diziyi kullanıyor:

  $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" dizi dizini, düzenleyicinin hangi sayfalar için gösterileceğini ayarlamaya izin verir, ancak modül bu kodu değiştirmek için herhangi bir form alanı sağlamaz ve herhangi bir işlev bu değeri kullanmaz.

Bu değer önceki sürümlerde kullanılmış olabilir ve işlenecek kod hala taşınıyor olabilir veya bu seçenek modülün sonraki sürümlerinde kullanılmaya başlanmış olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.