固定ページの編集画面をカスタマイズしたい場合
macchaka > 固定ページの編集画面をカスタマイズしたい場合 @ 2014/11/28 0:28 |
---|
固定ページの編集画面にある「プレビュー用URL」などが表示されているあたりにプラグインのイベントで出力を割り込もうと思っているのですが、Uploaderプラグインを見てみると、HTMLソースをスクレイピングして処理するみたいな置換処理が入ってる感じなんですが、そういうもんなんでしょうか。
あまりPHP上でHTMLソースを加工するということをしたことがないので、標準(サーバ環境に依存しない状態)でDOM操作とかってできないものですか? それとももっと簡単なアプローチがあるでしょうか。 lib/Baserからappに持ってきて直せば…というのはナシでお願いします。あくまでもプラグインを入れるだけで動作することを目指しているもので^^; こういうキーワードでggrksでもありがたいです。検索しても全然ヒントにもたどり着かなくて、どうしたものかとしょげています。 ■ BaserCMSのバージョン:3.0.5.1 ■ スマートURLの利用: ON ■ 設置フォルダ: ドキュメントルート ■ 利用しているデータベース: MySQL ■ PHPスキル(自己評価): C ■ OSの種類:OSX ■ PHPのバージョン:5.4.30 ■ データベース種類・バージョン:MySQL 5.6.19 |
n1215 > Re: 固定ページの編集画面をカスタマイズしたい場合 @ 2014/11/28 23:23 |
---|
macchaka 様
編集画面への入力フィールドの追加であれば、HelperEventListnerを使うなどスクレイピングなしで済ませる例を見たことがありますが、 挿入できる位置が制限されているので、今回のケースは難しいそうですね。 プレビュー用URLなどが表示されている部分自体でなくその下で良いならFormのbeforeCreateのイベントで何とかなるかもしれませんが。 挿入したい箇所に ・そのページで一回しか使われないヘルパーのメソッド ・エレメントテンプレートの読み込み ・ビューブロック のいずれかがあれば割と自然な方法で差し込めるんですが見た感じなさそうですし。 https://github.com/baserproject/basercms/blob/dev-3/lib/Baser/View/Pages/admin/form.php#L343-L357 僕が実装するとすれば、JavaScriptを利用するか、 プラグイン内に該当部分を変更したViewファイルを用意しておき、 ControllerかViewのイベントで利用するテンプレートをプラグインに含まれるものに差し替える力技を検討すると思います。 Twitter: @n_1215 |