Labo

EC-CUBE3 分室

【3.0.13】twigファイルについて(1)

2017年02月11日 / 投稿者名:chiharu


社内の方から「とりあえず興味のある事ではなく、たまには実用的なことを・・・」とのお言葉を頂きました。
云われてみれば取り留めの無い話をその日の気分で調べていることが多いです。
今回からはプラグインに拘らず、他のことを進めたいと思います。
※プラグインの内容を調べるのに難易度が上がってきたので時間を取れないこともありますが(笑)
 
そんなこんなで今回は座学となりますのでプログラムはありませんがお付き合い下さい。
まずはデザインカスタマイズについてです。
・・・本当はもっと前の段階で確認しておく内容ですね(笑)
 
と云うことで始めさせて頂きましたが、基本的な内容は以前で記載していたりします。
簡単なおさらいとしては以下のフォルダ以下の「twig」ファイルをコピーすることから始まります。
 /src/Eccube/Resource/template/default/
 
コピーしたファイルは以下のフォルダに移動することで、対象のファイルを優先するして表示される形です。
 /app/template/default/
 
さて、今回はここで使用した「twig」ファイルについて今回は調べて行きたいと思います。
まずは初歩的な twig を使用する際の構文についてです。
EC-CUBE3 でも twig ファイルを開けると以下の構文をよく目にすると思います。
 
■ 表示

{{ ... }}

{{ app.config.front_urlpath }}

{{ quantity|number_format }}

 指定された変数などを表示します。
 EC-CUBE をカスタマイズする際にも無くてはならない構文です。
 実際に表示するための変数内容は コントローラーファイルにて定義をしておく必要があります。
 また、EC-CUBE の場合多くの定数がセットされています。
 
 例えば2行目の表示であれば path.yml で設定した front_urlpath の中身が表示されます。
 他にも3行目のように quantity 変数の中身を ナンバーフォーマットの Filter を通して出力をすることも可能です。
 そのほかインクルードの Tag で別ファイルを読み込むなども表示用の構文を使用します。
 
 

■ 処理(if)

{% if Block.logic_flg %}
    True の場合の処理
{% else %}
    False の場合の処理
{% endif %}

■ 処理(for)

▼ for文【値のみ】
{% for Block in Blocks %}
 ここに Block【値】 に関する処理
{% endfor %}

▼ for文「キーと値」
{% for key, value in Blocks %}
 ここに key【キー】 と value【値】 に関する処理
{% endfor %}

 指定された処理を行います。
 まぁ、if 文や for 文ですね。
 ほかにも php で云う switch に値する with などがあります。
 まぁ、EC-CUBE 3 ではシンプルな処理しか使用されていないようですね。
 
 
■ コメント

{# ここにコメント文 #}

 コメント入力の際に使用します。
 よく使いますので覚えておきましょう。
 
 
簡単に説明するとこんな感じになります。
実際には表示や処理の処理はもっと複雑な動きをするため、覚えることは多いです。
・・・次回以降詳細を調べても良いぐらいです。
 
 
なお、余談となりますが EC-CUBE 2系の場合は Smarty を使用していました。
その際の 構文は通常の構文ではなく、EC-CUBE 独自の構文を使用されていました。
それが、今回の EC-CUBE 3 では本来の twig の構文をそのまま使用しています。
製作ポリシーがなぜ変わったのか個人的に気になるところです(笑)
 
と云うことで、今回はここまでとさせて頂きます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

* Copy This Password *

* Type Or Paste Password Here *

*

コメント欄にコードを挿入したい場合は、[php][/php] を使ってください。