| — |
dokuwiki:tinymce [2009/12/13 17:12] (current) mnemoto created |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | <p>まず、設定でHTMLの埋め込みを有効にする必要がある。</p> | ||
| + | <p>tinymceを落としてくる→dokuwikiのルートディレクトリにコピーする</p> | ||
| + | <p>次に、全てのドキュメントが生のHTMLとして表示される必要があるためコードに変更を施す。<br />具体的には、Dokuwikiのパースを行っている部分をスキップさせる。<br />人によって様々な方法があると思うが、自分は/inc/parseutilsの219行目をこのようにした</p> | ||
| + | <blockquote> | ||
| + | <p> $p = $Parser->parse("<HTML>".$text."</HTML>");</p> | ||
| + | </blockquote> | ||
| + | <p>こうすることでパースが行われず、HTML構文をそのまま表示できる。<br />ただし、WIKI構文で書かれたものはWIKIのソースがそのまま表示されてしまうので注意</p> | ||
| + | <p>/inc/html.phpの1173行目にこれを追加</p> | ||
| + | <blockquote> | ||
| + | <p><script src="<?php echo D</p> | ||
| + | <p>OKU_BASE?>ckeditor/ckeditor.js" type="text/javascript"></script>;</p> | ||
| + | </blockquote> | ||
| + | <p>/inc/form.phpのform_makeWikiText関数を変更。以下のようにする。(ckeditor.jsは"ckeditor"というクラス名を乗っ取るのでこのようにする)</p> | ||
| + | <blockquote> | ||
| + | <p>function form_makeWikiText($text, $attrs=array()) {<br /> $elem = array('_elem'=>'wikitext', '_text'=>$text,<br /> 'class'=>'ckeditor',"cols"=>"100","rows"=>"10");<br /> return array_merge($elem, $attrs);<br />}</p> | ||
| + | </blockquote> | ||
| + | <p>これで動作はするが、エディタウィンドウが狭く表示されてしまう。また、”ソース”ボタンによる切り替えがうまく出来ない。これを解消するため</p> | ||
| + | <p>/lib/tpl/テンプレート名/design.cssのfieldsetの項目を見つけ、width指定を削除<br />/lib/exe/js.phpの48行目付近DOKU_INC.'lib/scripts/ajax.js',を削除</p> | ||
| + | <p>まだ問題がある。フロッピーマークを押してセーブが出来ないのである。これは、doパラメータが渡されていないため。<br />自分は/inc/html.phpの1200行目付近に $form->addHidden('do','save');を追加して対処した</p> | ||