TYPOlight 2.8.2の問題点
TYPOlight 2.8.2の問題点と対応方法についてです。
TinyMCEのautoresizeプラグイン
問題の状況
TYPOlightはリッチテキスト・エディタとしてTinyMCEを採用しています。TYPOlight 2.8.2ではTinyMCEを3.3.2に更新していますが、その際にautoresizeプラグインが有効となっていました。
autoresizeプラグインを有効にしていると、テキストの編集エリアの大きさを自動的に変更されます。具体的には、最初の表示範囲にテキストが収まらなくなると、自動的に編集エリアが拡大します。
通常は問題はありませんが、ブラウザのページに収まらないくらいまで編集エリアが大きくなると、問題が起きます。
- 編集エリアの最後の方を編集するため、ブラウザの垂直スクロールバーを操作して編集したいところを表示します。
- マウスをクリックして、編集したいところにキャレットを設定します。
- テキストを入力しようとすると、リッチテキスト・エディタの先頭部分に移動して編集部分が表示範囲外となります。
長いテキストの編集がやりにくい、というよりも殆ど困難となります。
対処方法
解決策には、TinyMCEの使用を取り止めるという手段もありますが、これは使い勝手をあまりに変えてしまいます。現実的には、副作用を起こしているautoresizeプラグインを無効にして問題を回避すると良いでしょう。
既に4月17日にリビジョン317として、この問題は修正されています。このリビジョンと同様な変更は、以下の3つのファイルを修正して達成できます。
system/config/tinyFlash.php
system/config/tinyMCE.php
system/config/tinyNews.php
変更する場合は、以下のような行が2箇所あります。ここから"autoresize,
"を削除します。(必ずバックアップを取ってから行って下さい。)
plugins : "autoresize,autosave,directionality,inlinepopups,legacyoutput,paste,save,searchreplace,spellchecker,tabfocus,template,typolinks",
変更後は次の様になります。
plugins : "advimage,autosave,directionality,emotions,inlinepopups,paste,save,searchreplace,spellchecker,style,tabfocus,table,template,typolinks,xhtmlxtras",
autoresizeの機能も動作しなくなりますが、勝手に表示位置が変わる問題も解消します。
この問題はpkgsrcでも対応済みです。