CakePHPのプラグインViewを上書きする

標準

今日は軽めのネタをひとつ。

CakePHP1.3では、APP側からプラグインのViewを上書きすることができます。

Overriding plugin views from inside your application :: Plugin Views :: Plugins :: Developing with CakePHP :: The Manual :: 1.3 Collection

app/views配下にpluginsディレクトリを作って、その中にプラグイン名/コントローラ/アクションのように配置してやればapp側のviewが反映されます。

APP/views/plugins/{plugin_name}/{controller}/{action}.ctp

Foobarプラグインのsomesコントローラのanyビューであれば

元のView

plugins/foobar/views/somes/any.ctp

を、アプリケーション側で上書きする場合

APP/views/plugins/foobar/somes/any.ctp

ThemeViewを使っている場合は各テーマ毎にpluginsディレクトリを作ってその中に配置します。

APP/views/themed/mobile/plugins/foobar/somes/any.ctp
APP/views/themed/iphone/plugins/foobar/somes/any.ctp

Viewの上書きができたら怖いものなしですね。それでは快適プラグイン生活をどうぞ!

コメントを残す

Page optimized by WP Minify WordPress Plugin