WYSIWYG को Drupal Form में संलग्न करें


12

एक कस्टम Drupal फॉर्म के साथ, आप WYSIWYG कार्यक्षमता को WYSIWYG मॉड्यूल के साथ एक textarea में कैसे संलग्न कर सकते हैं?


मुझे मून वाउचर द्वारा प्रस्तुत समाधान मिला और डायलन टैक पूरी तरह से काम करता है।

जवाबों:


2

Drupal 7 (drupal 6 के लिए थोड़ा संकेत के साथ) http://drupal.org/node/1021160 पर इस संकेत की समीक्षा करें । विशेष रूप से ड्रुपल 7 में textarea के अंदर एक संपादक को प्रदर्शित करने के तरीके के बारे में है, इसलिए मुझे लगता है कि शुरू करने के लिए उपयोगी हो सकता है (लगता है कि अंतिम टिप्पणी का परीक्षण तरीका है)।

इसके बजाय WYSIWYG के साथ ऐसा करने का विकल्प हो सकता है।


8

Wysiwyg मॉड्यूल इनपुट प्रारूप प्रणाली से बंधा हुआ है।

'#type' => 'text_format'अपने पाठ क्षेत्र को परिभाषित करते समय उपयोग करें ।


7

आपको पाठ क्षेत्र के बजाय टाइप = 'text_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 फॉर्म एपीआई संदर्भ


1
वाह वास्तव में, variable_get('foo', '')['value']प्रत्यय वास्तव में आवश्यक है।
लेमनक्स

0

WYSIWYG मॉड्यूल केवल वहाँ से बाहर कई wysiwyg संपादकों में से एक का उपयोग करने का एक तरीका है। एक बार जब आप wysiwyg मॉड्यूल ( http://drupal.org/project/wysiwyg ) स्थापित कर लेते हैं, तो मॉड्यूल के लिए कॉन्फ़िगरेशन पर जाएं (व्यवस्थापक / कॉन्फ़िगरेशन / सामग्री / wysiwyg)। कई Wysiwyg संपादकों के लिए इंस्टॉलेशन निर्देश उपलब्ध होंगे। उदाहरण के लिए, FCKeditor के लिए, यह निम्नलिखित कहता है:

संग्रह को निकालें और उसकी सामग्री को निम्नलिखित स्थान पर एक नए फ़ोल्डर में कॉपी करें: साइटें / सभी / पुस्तकालय / fckeditor

तो वास्तविक पुस्तकालय में पाया जा सकता है: साइटों / सभी / पुस्तकालयों / fckeditor / fckeditor.js

इसलिए, संपादक को डाउनलोड करें, दिए गए निर्देशिका में संग्रह को निकालें। एक बार जब आप ऐसा करते हैं (यह मानते हुए कि आपने इसे सही तरीके से किया है), तो आप Wysiwyg config स्क्रीन पर दिए गए इनपुट स्वरूपों के लिए संपादक को बदल सकेंगे। फिर आपको प्रत्येक प्रकार (फ़िल्टर किए गए HTML, पूर्ण HTML, आदि) के लिए अलग-अलग संचालन असाइन करने की आवश्यकता होगी। आप जिस भी इनपुट में आपकी रुचि रखते हैं, उसके लिए पंक्ति में व्यवस्थापक / कॉन्फ़िग / सामग्री / wysiwyg के भीतर "संपादन" पर क्लिक करें। यहाँ से, जाँच करें कि आपको कौन से बटन चाहिए।


WKSIWYG संपादक का उपयोग किए बिना CKEditor को "स्टैंड अलोन" भी स्थापित किया जा सकता है। 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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.