Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

プラグインのテンプレートをカスタムしたいときに、いきなり各プラグインの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テーマ配下で同様のコトをおこなわないとダメなようです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした