「EC-CUBEカスタマイズ!デバッグメッセージを画面やログファイルに出力する」では、EC-CUBE2.13でカスタマイズ中にデバッグメッセージを画面やログファイルに出力する方法を解説します。
クラスから出力
クラスから出力する場合、画面とログファイルの2パターンあります
画面に出力
ソースの任意の箇所に下記を入れてください。
SC_Utils::sfPrintR( $hoge );
これを入れると変数の値が処理後の画面最上部に出力されます。
ただし、明るい緑色の文字で出力されるため背景が白だと見えん!!
こんな感じ
なんでこんな色なんだろう?
昔のコンソール画面を思い出す。
注意として、別の画面にリダイレクトをかけるような処理の場合、リダイレクト先には表示されません。
そのようなときは、次の方法でログファイルに出力してみましょう。
ログファイルに出力
デバッグ情報を画面に出力したくないときはこちらを使用しましょう。
ソースの任意の場所に下記を入れてください。
GC_Utils_Ex::gfDebugLog( $hoge );
これを入れるとログファイルに出力されます。
ログファイルは、 data/log/site.log に出力されます。
注意:ログファイルは、EC-CUBEの管理メニューから「システム設定」-「パラメータ設定」で DEBUG_MODE を true にしないと出力されません。
テンプレートから出力
テンプレートで変数の値を出力させるのは普通の事なので、配列を出力する場合を記載します。
テンプレートの任意の場所に下記を入れてください。
<!--{$arrHoge|@debug_print_var}-->
配列の要素数を表示する場合は下記のように
<!--{$arrHoge|@count}-->
こちらは両方共画面に表示してしまいます。
画面に表示したくない場合は、下記のようにhtmlのコメントとして出力するような書き方をします。
<!--<!--{$arrHoge|@debug_print_var}-->--> <!--<!--{$arrHoge|@count}-->-->
こうすれば、画面には表示されませんが、htmlのソースを見ると出力されていますので値を確認できます。
まとめ
いかがでしたか、いずれもテスト後はコメントアウトや削除を忘れて不要なメッセージが画面やログファイルに残らないようにしましょう。
コメントを残す