EC-CUBE2.x系|名古屋EC-CUBE勉強会vol.1

2019/02/06

2012/10/16のメモ

2012年。EC-CUBE勉強会を名古屋にてはじめました。

勉強会を始めた経緯は別途記すとして、私たち『EC-CUBE名古屋UGの先生』である大河内健太郎さんに教えていただいた数々の役に立つ授業?の時にとったメモを、私的なEvernoteに溜めているのはもったいないのでここに公開したいと思います♪

いま見返して、驚きました。
先日やらかしてたんですねー。
includeのphpとtplの違いをすっかり忘れて、なんでできないんだ〜ってやってたんです(笑)

誰かのお役に立ててれば幸いです♡


2012/10/6 勉強会 覚え書きメモ

1. ブロックを登録をせずに直接入れたいファイル(例:index.tpl) に入れたいtplを作って入れる 
例 

<--{include file="frontparts/bloc/test.tpl"}-->

2. 変数を書いて代入させる方法
例:LC_Page_FrotPages_Bloc_Cart.phpのactionに

$this->test = "x";

x を test に代入させて
cart.tpl の任意の場所に

<--{$test}-->

を追加するだけで変数を代入してくれる

<!--{$test|@vardump}-->

ってやると, $test の内容をデバック出力できます。

修正前↓
————————————————————————————————
this=”変数のテスト” ↑ cartのLC ページのアクションで指定 ↓ するとカートブロックにしか反映されない
$this->test =  ・・・ん?


あそっか!
includeは変数持ってこれないわけなんだから、要はinclude_phpを使わなければ いいわけだからえと、 ブロック追加をシステムからせず、 tplをインクルードさせる! と! 変数がつかえる!てことか!
新着情報とかそゆの外に出したいときはこうすればいいかも。
(↑いみわからんくて笑えるw)


カートページのみに出したい時は,

if ($_SERVER['PHP_SELF'] == ROOT_URLPATH . 'cart/index.php') {
$this->test = 'カートページだけで表示';
}

追記:
テンプレートを読み込む方法は 2種類あります

  1. <!–{include file=”filename.tpl”}–>
  2. <!–{include_php file=”filename.php”}–>


1 は、 tpl ファイルを直接読み込む方法.デザイン管理から作成したブロックと同じ方法です。
この方法を使うと、 LC_Page クラスのメンバ変数(例 $this->test)は、すべて tpl ファイルで使うことができます

2 は、PHP プログラムを読み込む方法。
カテゴリブロックや、カートブロック、ログインブロックで使用されている方法です。
この方法では、include する PHP プログラムの変数は親となるテンプレートでは使用できません。
例えば、 LC_Page_Frontparts_Bloc_Cart で宣言した変数は,、frontparts/bloc/cart.tpl で使用できますが、それを読み込む site_main.tpl などでは使用できません 。

Category - カテゴリー内 -

All Column Page - 全記事内 -

OLD
EC-CUBE名古屋UGの紹介
NEW
名入りカスタマイズ|名古屋EC-CUBE勉強会vol.2