カスタムDrupalフォームで、WYSIWYGモジュールを使用してテキストエリアにWYSIWYG機能をどのようにアタッチできますか?
この表示をDrupal 7に確認します(drupal 6に少し表示あり)) http://drupal.org/node/103116 =。具体的には、drupal 7のtextarea内にエディターを表示する方法についてです。したがって、これは開始するのに役立つと思います(最後のコメントにはテスト済みの方法があるようです)。
代わりに、またはWYSIWYGを使用してこれを実行する代わりになる可能性があります。
Wysiwygモジュールは入力フォーマットシステムに関連付けられています。
使用する '#type' => 'text_format'
テキスト領域を定義するとき。
テキスト領域の代わりにtype = 'text_format'を使用する必要があります。そして、format = 'editor_format'。コードは次のようになります。
$form['description'] = array(
'#type' => 'text_format',
'#title' => t('Description'),
'#format' => 'full_html' //the format used for editor.
);
これが私のものです:
$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
に追加する必要がありました。
WYSIWYGモジュールは、そこにある多くのwysiwygエディターの1つを使用する方法にすぎません。 wysiwygモジュール( http://drupal.org/project/wysiwyg )をインストールしたら、モジュールの構成(admin/config/content/wysiwyg)に移動します。多くのWysiwygエディターのインストール手順が利用可能になります。たとえば、FCKeditorの場合、次のようになります。
アーカイブを抽出し、その内容を次の場所にある新しいフォルダーにコピーします。sites/ all/libraries/fckeditor
したがって、実際のライブラリは次の場所にあります。sites/ all/libraries/fckeditor/fckeditor.js
したがって、エディターをダウンロードして、アーカイブを指定のディレクトリに抽出します。これを実行すると(正しく実行したと仮定して)、Wysiwyg構成画面で、指定された入力フォーマットのエディターを変更できるようになります。次に、タイプごとに異なる操作を割り当てる必要があります(フィルターされたHTML、完全なHTMLなど)。目的の入力フォーマットの行のadmin/config/content/wysiwyg内の操作の下にある[編集]をクリックします。ここから、必要なボタンを確認します。
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"配列インデックスは、エディターが表示されるページを設定することを許可しますが、モジュールはそのコードを変更するフォームフィールドを提供せず、関数はその値を使用しません。
その値が以前のバージョンで使用されていて、それを処理するコードがまだ移植されているか、そのオプションがモジュールの次のバージョンで導入されている可能性があります。