「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
MT7用FreeLayoutCustomFieldプラグイン拡張パックのリッチテキストのサイズを変更したときの不具合と対処
MT7用FreeLayoutCustomFieldプラグイン拡張パックで、「記事のカスタムフィールドにリッチテキスト型のフィールドを追加し、そのリッチテキストの右下のサイズ変更ハンドルをドラッグすると、リッチテキストの内容が消えて編集できなくなる」という不具合のご指摘がありました。
この対処を紹介します。
対処の手順は以下の通りです。
1.tinymce.jsの書き換え
この不具合について調べたところ、TinyMCEのJavaScriptの書き換えが必要でした。
「mt-static」→「plugins」→「TinyMCE」→「tiny_mce」ディレクトリにある「tinymce.js」ファイルで、1205行目付近を以下のように書き換えます。
書き換え前
function defaultNativeHandler(evt) { executeHandlers(fix(evt || win.event), id); }
書き換え後(ハイライトの行を追加)
function defaultNativeHandler(evt) { if (evt.buttons == 1 && ( (evt.type == 'mousedown' && tinymce.DOM.hasClass(evt.target, 'mce-i-resize')) || (evt.type == 'mousemove' && evt.target.style.zIndex == '2147483647') ) ) { evt.stopPropagation(); } executeHandlers(fix(evt || win.event), id); }
2.tinymce.min.jsの作成
1.で書き換えたtinymce.jsをMinifyして、tinymce.min.jsファイルを作成します。
そして、そのtinymce.min.jsを、「mt-static」→「plugins」→「TinyMCE」→「tiny_mce」ディレクトリにある同名のファイルに上書きします。
3.制限事項
MTクラウド版では、tinymce.jsおよびtinymce.min.jsを書き換えることができません。
そのため、今回の不具合に対応することができませんので、制限事項とさせていただきます。
なお、リッチテキストのサイズを変更すると、見た目上は文章が消えたようになりますが、内部的には文章は残っています。
記事を保存して開きなおせば、文章は表示されます。