Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
88 lines (59 sloc) 3.58 KB
title keywords tags sidebar permalink summary
デザインテンプレートの基礎
design template search
design
home_sidebar
design_template
デザインテンプレートの基本ルールについて説明します。

デフォルトのテンプレートの配置場所

EC-CUBEがインストールされているディレクトリを ECCUBEROOT とします。
本体の標準のTwigファイルは以下のディレクトリに配置されています。

  • フロント画面の標準ディレクトリ
    ECCUBEROOT/src/Eccube/Resource/template/default

  • 管理画面の標準ディレクトリ
    ECCUBEROOT/src/Eccube/Resource/template/admin

  • インストール画面の標準ディレクトリ
    ECCUBEROOT/src/Eccube/Resource/template/install

デザインのカスタマイズ時のファイル配置

EC-CUBEでは、デフォルトのディレクトリとは別に、オリジナルのデザインテンプレートを配置可能です。

新規にデザインを作成する場合に、直接デフォルトのテンプレートを触るとバージョンアップで上書きされたりする恐れがあるため、デフォルトのファイルを直接変更することは推奨していません。

  • オリジナルのデザインテンプレート配置時の標準ディレクトリ
    ECCUBEROOT/app/template/[template_code]
    → [template_code]とは、テンプレートを識別するためのコード。標準ではフロントの場合「default」、管理画面の場合「admin」が定義されている。

このディレクトリはデザインテンプレートを利用するときに適用されるためのディレクトリとなります。 デザインテンプレートはこのディレクトリ配下に保存されています。
→リソースファイルは ECCUBEROOT/html/template/[template_code] に配置されます。

管理画面でのデザイン編集時の挙動(ブロック編集やページ詳細)

現在利用しているテンプレートを読み込み。なければデフォルトのテンプレート(src/Eccube/Resource/template/default/以下のファイル)をもってきて、新たにapp/template/default/以下に保存されます。

テンプレートの読み出し順序

テンプレートファイルが呼び出される順序は、以下の通り。

  • フロント
1. ECCUBEROOT/app/template/[template_code]
2. ECCUBEROOT/src/Eccube/Resource/template/[template_code]
3. ECCUBEROOT/app/Plugin
  • 管理
1. ECCUBEROOT/app/template/admin
2. ECCUBEROOT/src/Eccube/Resource/template/admin
3. ECCUBEROOT/app/Plugin

先にオリジナルのテンプレートが存在しないかを確認し、存在しなければデフォルトのテンプレートを呼び出します。

呼び出し例

  • フロントの例 template_codeが「MyDesign」のデザインテンプレートを利用しており、Controllerで $app['view']->render('TemplateDir/template_name.twig'); とされている場合
 1. app/template/MyDesign/TemplateDir/template_name.twig
 2. src/Eccube/Resource/template/default/TemplateDir/template_name.twig
 3. app/Plugin/[plugin_code]/Resource/template/TemplateDir/template_name.twig
  • 管理画面の例 $app['view']->render('Product/index.twig'); とされている、商品マスターのテンプレートをカスタマイズし、app/以下においている。
 1. app/template/admin/product/index.twig
 2. src/Eccube/Resource/template/admin/product/index.twig
 3. app/Plugin/[plugin_code]/Resource/template/admin/product/index.twig