世の中は黄金週間真っ最中ですが、僕は休日関係なく開発に勤しんでいます。
現在進行中の案件が3件あり、うち2案件でEC-CUBEが絡んでいるのですが、かなり久しぶりなので少し手を焼いていますσ(^_^; )
今回はビューに渡された変数や配列の値を参照する方法のメモです。
単純に{debug}を利用しようとすると、私の環境の場合memory_limitを外していてもOut of Memoryが出てしまい、全ての変数を参照することができませんでした。
そこで、例えばおすすめ商品の配列の中身を参照するには@debug_print_varを利用してこのように書きます。
<!--{$arrBestProducts|@debug_print_var}-->
これで目的の変数だけを参照することができます。
ただ40文字を超えると省略されてしまうので、その場合は次のように書きます。
<!--{$arrBestProducts|@debug_print_var:4:200}-->
最初の4はインデントのスペースの数、200は最大文字数です。
Smartyの場合は複数の引数がある場合に:(コロン)でつなぐのでしたね。
Smartyのデバッグに関してはSmartyで配列のダンプを表示させる5つの方法 [C!]が参考になりました。
ちなみに最初はこの方法に気づかず、ビューでのデバッグを諦めて表示前の処理からSC_Utils::sfPrintRメソッドを利用してデバッグしていました。
対象の変数でGrepして目的の変数を代入するところを探さなくてはいけなかったので面倒でしたねσ(^_^; )
久しぶりにEC-CUBEを触った時は慣れないせいもあってEC-CUBEは開発者泣かせだな?なんて思っていましたが、慣れてくると効率的な方法が身に着いてくるものですね。
これからもっとEC-CUBEの案件が増えてきそうなので、これを機会にどんどんスキルアップしたいと思います。