0
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

NetCommons3でプラグインのテンプレートをカスタマイズする方法

アップデートで上書きされないようにテーマ下テンプレートを利用する

プラグインのテンプレートをカスタムしたいときに、いきなり各プラグインのViewにあるファイルをいじるのはやめましょう。

直接既存のファイルを編集してしまうとNetCommons3のアップデートで変更したファイルが上書きされて編集前の状態にもどってしまいます。

じゃぁどうするのかっていうと、テーマ下にテンプレートを追加する方法が良いと思います。XOOPS, XOOPS Cubeを使ってこられた方にはおなじみ「テーマ下テンプレート」ですね。

テーマ下テンプレートはどこに追加するの?

NetCommons3(というかCakePHP2の話なんですけどね)のテーマフォルダはapp/View/Themedになります。

インストール直後のThemedには Default, DefaultBlueなどのフォルダがあるはずです。
それぞれがひとつひとつのテーマになってます。

この下にPlugin/プラグインディレクトリ名/プラグイン内のViewフォルダの内側と同じ階層構造 って感じでファイルを追加します。

ためしにDefaultテーマでコメントの表示テンプレートをカスタムしてみましょう。

今回カスタムしたいのは
app/Plugin/ContentComments/View/Elements/indexOnce.ctp
です。

なのでこのファイルを
app/View/Themed/Default/Plugin/ContentComments/Elements/indexOnce.ctp
としてコピーします。

あとはコピーしたファイルをすきにいじっちゃってください。このコピー下ファイルをつかってコメントが表示されるようになります。

もちろんいじり方しくじるとエラーになって画面真っ白になるとか画面にエラーメッセージでるとか、セキュリティホールをつくりこんじゃうこともあるので、そこは注意してくださいね。

アップデート時は自分で差分をチェックしましょう

この方法を使うとアップデートでカスタムしたテンプレートが上書きされなくなるので、アップデートでテンプレートの中身が変わったときは自分でどこが変更されたかを確認してカスタムしたテンプレートに反映する必要があります。

それをしないと場合によってはバグやセキュリティホールを放置することになっちゃうんで要注意です。

まぁこのあたり不安であればお仕事として依頼してください^^;


(以下2017/06/14追記)

管理画面のテンプレートはDefaultテーマ配下に追加

NetCommons3の管理画面はDefaultテーマ固定のようなので、管理画面のテンプレートをカスタムしたいときは、Defaultテーマ配下で同様のコトをおこなわないとダメなようです。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?