ホーム > 技術情報 > ECCUBE3.0のメモ書き

ECCUBE3.0のメモ書き

投稿日 : 2017年06月12日   更新日 : 2019年05月28日
カテゴリー : ECCUBE / 技術情報
ECCUBE3.0のメモ書きの画像

テンプレートの項目を触りたいとき

プログラム中の宣言とテンプレートの記述の両方を削除しないとだめ
特にテンプレートはコメントアウトしただけではエラーになって正しく描画されなくなる(途中で止まる)

例えばゲスト会員購入のところ

/src/Eccube/Form/Type/Front/NoMemberType.php
いらない項目を削除する
会社名とか。
ここはコメントアウトでもOK

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $config = $this->config;
        $builder
            ->add('name', 'name', array(
                'required' => true,
            ))
            ->add('kana', 'kana', array(
                'required' => true,
            ))
            ->add('zip', 'zip', array(
                'required' => true,
            ))
            ->add('address', 'address', array(
                'required' => true,
            ))
            ->add('tel', 'tel', array(
                'required' => true,
            ))
            ->add('email', 'repeated_email');

       /*
       	デフォルトはこんな感じだった
       $builder
            ->add('name', 'name', array(
                'required' => true,
            ))
            ->add('kana', 'kana', array(
                'required' => true,
            ))
            ->add('company_name', 'text', array(
                'required' => false,
                'constraints' => array(
                    new Assert\Length(array(
                        'max' => $config['stext_len'],
                    )),
                ),
            ))
            ->add('zip', 'zip', array(
                'required' => true,
            ))
            ->add('address', 'address', array(
                'required' => true,
            ))
            ->add('tel', 'tel', array(
                'required' => true,
            ))
            ->add('email', 'repeated_email');
            */
    }

テンプレートの方

/src/Eccube/Resource/template/default/Shopping/nonmember.twig いらない項目部分を削除
ここはコメントアウトだめらしい ここでは

{{ form_label(form.company_name) }}
{{ form_widget(form.company_name) }} {{ form_errors(form.company_name) }}

を削除

そうすると、会社名の入力項目が消える

カスタマイズ用のテンプレートフォルダを作る

defaultフォルダを使う。

  • /html/template/default/css
  • /html/template/default/js
  • /html/template/default/img

スタイルシートやjavascript、画像を保管するところ。

  • /app/template/default/

カスタマイズするもの。

/src/Eccube/Resource/template/defaultからコピーしてここに置いてから改修していくと失敗がない。

注意

  • src内のものはECCUBEの核プログラム部分。直接触るとアップデートのときに不都合が出そうだから触らないこと
  • テンプレート変更などをしたら管理画面からキャッシュクリアしないと反映されない場合がある。このキャッシュは実際のホームページ表示するときに速度上昇の役目があるらしい

カスタマイズ用テンプレートフォルダの名前を変える

例えばテンプレートフォルダ名をdefaultからcloverにしたいとき(defaultはあくまでdefaultなので、別途作った方が管理上良いかな?)
テンプレートフォルダdefaultをコピーしてcloverに改名

以下を「default」から保存先のパス名(ここではclover)に変更

# 元はdefaultで記述されているところをcloverに変更する

block_realdir: ECCUBE保存先ディレクトリ/app/template/<strong>clover</strong>/Block

template_realdir: ECCUBE保存先ディレクトリ/app/template/<strong>clover</strong>
template_html_realdir: ECCUBE保存先ディレクトリ/html/template/<strong>clover</strong>

front_urlpath: /eccube/html/template/<strong>clover</strong>

リンクを貼りたいときとかテンプレートに記述する指定タグ

ページ管理にある「ルーティング名」を以下のように指定

{{ url(ルーティング名) }}
# 例えば
{{ url('help_tradelaw') }}

基本情報設定>ショップマスターにある会社名なんかを引っ張りたいとき

BaseInfoでやる

{{BaseInfo.company_name}}
{{BaseInfo.add}}

などなど、必要になったらここを参照すること< br/> ECCUBE3の各ページで渡される変数一覧

head領域を編集したいとき

default_frame.twigを触る書き方は中を見ればまあわかるよ、同じように書けばいい

よく使う画像のパス

{{ app.config.front_urlpath }}

#imgタグでの使い方
src="{{ app.config.front_urlpath }}/img-a01.jpg"

管理画面系統

ページの情報はコンテンツ管理の中から触れる
新着情報はそのまま新着情報を登録するところ< br/> ページ管理はページテンプレートを操作
ブロック管理はページ管理の「レイアウト」で出てくるブロックテンプレートの編集ができる 「ヘッダ」「フッタ」とかはここ

注意

上にも書いたけど、ファイルを直接でも管理画面からでも、とにかくテンプレートを変えたら必ずキャッシュ管理でtwigキャッシュクリアすること。これやらないと反映されない

テンプレートのイメージ

コンテンツ管理 > ページ管理から「レイアウト管理」と「ページ管理」で操作。

 

レイアウト管理

コンテンツ管理 > ブロック管理にある、テンプレートのブロックを指定通りに設置して表示するよ、というイメージがある。

どのブロックを指定位置に配置する、このブロックは常に表示する、などが設定できる。
ブロックはブロック管理から追加や編集もできる(サーバー上から直接ファイルを触ってもいい、いずれにしてもキャッシュクリアは必須)。

ページ管理

該当ページのページテンプレートを触ることができる。管理画面上でファイル名が表示されるので、触りたいページのテンプレートのファイルを確認して、指定のファイルを直接触った方が安定する気がする。
ここでも作業を反映させるにはやっぱりキャッシュクリアは必須。

楽しい物造りを

NaoLight

自分のブログやサイトを、楽しく作ってもらえたら。

プログラムを使って望み通りに、拡張しやすく、自分の思うように。

できたときに、すごく楽しい!と思ったら。

控えめに言って、「最高です」。

NaoLight -NAOT-(なおらいと、なおと、と呼んでください)はそんな思いをカタチにする、WordPressのテーマです。

ご購入はこちらからお願いします(BOOTHへ移動します)。

Nao Light-NAOT-公式サイト