プラグイン > 開発について > EC-CUBE3のテンプレートに渡された変数一覧を取得する方法 |
開発について
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ikemoto |
投稿日時: 2015/10/8 11:09
対応状況: 解決済
|
一人前 登録日: 2015/10/2 居住地: 投稿: 79 |
Re: EC-CUBE3のテンプレートに渡された変数一覧を取得する方法 そういうことでしたか!
一番最初に{{debug()}}で全部見ようとしてましたが、それだともっとひどいことになりますね…。 テンプレ側で全部の変数を見て必要なものをヒックアップするつもりだったのですが、それよりも呼び出し元を見て、変数を引き渡している箇所からピンポイントで探るべきってことですね。 ソースコードの方をまず確認して、必要な箇所を絞るようにしてみます。 |
tacky |
投稿日時: 2015/10/8 10:54
対応状況: −−−
|
長老 登録日: 2015/10/3 居住地: Tokyo 投稿: 277 |
Re: EC-CUBE3のテンプレートに渡された変数一覧を取得する方法 はい、$paginationの内容は膨大です。。。
表示させたいのであれば、ProductControllerの69行目の$paginationの代入より下に print_r($pagination); と掛けば内容が表示されますが、膨大です。 paginationの特定の変数を取得は出来ますので、参考に {{ dump(pagination.totalItemCount) }} と掛けば商品カテゴリの商品点数が出てきますよ。 |
ikemoto |
投稿日時: 2015/10/8 10:42
対応状況: −−−
|
一人前 登録日: 2015/10/2 居住地: 投稿: 79 |
Re: EC-CUBE3のテンプレートに渡された変数一覧を取得する方法 こちらこそURLミスすみません。
index_dev.phpでアクセスした場合なのですが、 エラーも出ず空白画面になります。 このとき、phpのエラーログに PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 110100480 bytes) in W:\projects\workshop\workshop_project\vendor\twig\twig\lib\Twig\Extension\Debug.php on line 66 と出るので、memory_limitの値をかなり大きめにして再試行してみましたが、増えたメモリ分だけ待ち時間が増えるだけで、やはり空白画面になりました。 これは、pagenation内の内容が膨大過ぎてvar_dumpで展開しきれないということなんでしょうか… |
tacky |
投稿日時: 2015/10/8 9:48
対応状況: −−−
|
長老 登録日: 2015/10/3 居住地: Tokyo 投稿: 277 |
Re: EC-CUBE3のテンプレートに渡された変数一覧を取得する方法 デバッグモードでしかdumpが使えないため、アクセスするURLは下記になります。
http://127.0.0.1/workshop/index_dev.php/products/list すいません。「$」いりませんでした。 {{dump(pagination)}} でOKです。 |
ikemoto |
投稿日時: 2015/10/8 9:19
対応状況: −−−
|
一人前 登録日: 2015/10/2 居住地: 投稿: 79 |
Re: EC-CUBE3のテンプレートに渡された変数一覧を取得する方法 インストール直後の環境にて、「ページ管理」の「商品一覧ページ」内に
{% block main %} {{dump(pagination)}} と記述し、当方インストール環境での商品一覧ページである http://127.0.0.1/workshop/index.php/products/list …にアクセスしました。 すると、 システムエラーが発生しました 大変お手数ですが、サイト管理者までご連絡ください。 の画面が表示されました。 エラーログの方には [2015-10-08 09:12:23] myapp.CRITICAL: Twig_Error_Syntax: The function "dump" does not exist in "Product/list.twig" at line 45 (uncaught exception) at W:\projects\workshop\workshop_project\vendor\twig\twig\lib\Twig\ExpressionParser.php line 578 {"exception":"[object] (Twig_Error_Syntax(code: 0): The function \"dump\" does not exist in \"Product/list.twig\" at line 45 at W:\\projects\\workshop\\workshop_project\\vendor\\twig\\twig\\lib\\Twig\\ExpressionParser.php:578)"} [] …と表示されています。 ご指摘の{{dump($pagination)}} の方だと、 エラーログが「Unexpected character \"$\」という内容となります。 問題点等ありましたらお手数ですがご指摘ください。 |
tacky |
投稿日時: 2015/10/8 7:11
対応状況: −−−
|
長老 登録日: 2015/10/3 居住地: Tokyo 投稿: 277 |
Re: EC-CUBE3のテンプレートに渡された変数一覧を取得する方法 画面上に出るエラーは何て出ていますか?
変数の出力はindex_dev.phpの状態で下記で表示されると思います。 テンプレート側 {{ dump($変数) }} コントローラー側 print_r($変数); |
ikemoto |
投稿日時: 2015/10/8 1:03
対応状況: −−−
|
一人前 登録日: 2015/10/2 居住地: 投稿: 79 |
EC-CUBE3のテンプレートに渡された変数一覧を取得する方法 お世話になります。
現在EC-CUBE(3.03バージョン)のプラグインを作る際、テンプレート側で引き渡される変数を一覧にて確認したいのですが、どのようにすれば良いでしょうか? つまり、Smartyだと{debug}に該当する機能と同様のものて内容を見たいのです。 index_dev.phpを通してアクセスした場合、twigのdump extension が有効になるようでしたので(実際にdebug=Trueの状態であることと、有効になる処理を通っていたことも確認済み)、テンプレートに{{ dump() }}を記載すれば確認できるかと思って試してみましたが、エラーとなりました。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |