【CakePHP】その場編集(edit in place)をプラグインでやってみる
excelのセルを書き換えるときのように、
テキストをクリックしたら、テキストそのものが編集フォームに置き換わる(=その場編集、edit in place, eip)サイトがありますよね。
あれをCakePHPでやろうとしたのですが、検索でヒットした方法はAjaxヘルパーやjsヘルパーを使ったものでした。
これらは最近非推奨だったり、将来的になくなってしまうとのことなので
思い切ってプラグインを使ってみることにしました。
今回使ったのはこちらです。
さて、結論から言いますとうまく動かなかったのですが、
たぶん導入まではうまくいったと思いますので手順を書いておきます。
導入手順
git clone https://github.com/zeroasterisk/CakePHP-Eip.git app/Plugin/Eip
続いてプラグインEipフォルダに含まれるbootstrap-editableをeipとしてapp/webrootにコピーします。
cd app/webroot
cp -r ../Plugin/Eip/webroot/bootstrap-editable/bootstrap-editable eip
次に設定ファイルをコピーします
cd app/Config
cp ../Plugin/Eip/Config/eip.php ./
次にConfigフォルダにあるbootstrap.phpの末尾に
次の1行を書き加えます
githubのREADMEにはここまでしか書かれていませんが、
プラグインのヘルパーファイル
app/Plugin/Eip/View/Helper/EipHelper.php
にStringクラス(CakePHPのバージョン2.7以降では廃止)が使われているので、該当行(たぶん284行目)を書き変えます。
これで導入完了です。
あとはREADMEのUsageの通りにやれば使えるはず…なのですが
私の場合、とくにエラーは出ないけど、eip化したテキストをクリックしても何も起きないという現象に見舞われています。
ちょっと原因を特定するのに時間がかかりそうです…