オーバーライド

concrete5を新規インストールすると、ルートディレクトリに中身が空のフォルダがたくさんあることに気づかれると思います。config/, files/, concrete/ のディレクトリだけが中身があります。また、concrete/ フォルダの中は同じ構造の中身があるフォルダが並んでいます。この構造はコアに含まれるファイルのどれがカスタマイズされて置き換えられているのかを分かりやすくします。コアディレクトリから隔離された、サイトのルート階層のフォルダに置かれたコードを「オーバーライド」と呼びます。

事例

jQueryが読み込まれる時、まずオーバーライドディレクトリ内の jquery.js という名前のファイルがあるかどうかがチェックされます。

サイトのルート/js/jquery.js

ファイルがなかった場合は、jQueryが格納される concrete/ ディレクトリ内のデフォルトの位置が確認されます。

サイトのルート/concrete/js/jquery.js

concrete5に新しいファイルを読み込まれるのに、特別なコードは必要ありません。ファイルがオーバーライドディレクトリに存在したら、自動でオリジナルの代わりに読み込まれます。concrete5以下のほとんど全てのディレクトリ、blocks, models, elementsなどで同様に適用できます。コアディレクトリのあらゆるものはシンプルにオーバーライドディレクトリに複製することで上書きすることができます。

なぜオーバーライドを使うべきなのですか?

このシステムに従うメリットは、あなたのプロジェクトにおいてconcrete5をカスタマイズ、または拡張した範囲が明白になることです。First, it provides a safe means of repairing or upgrading a broken site: one can swap the entire core directory out and replace it with a fresh copy, without worrying about losing a customization placed somewhere deep inside the concrete/ directory.

If you’re still in the process of developing and refining your override, an original copy of the file you’re working with can always be found in its original location beneath the concrete/ directory in case you need to revery or compare. If an override has become problematic for any reason ( (for instance, it needs to be updated to work with an updated concrete5 core), it can easily be located and fixed.

原文:Overrides