質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Twig

Twig は、簡潔で可読性の高いテンプレートを記述することができ、 シンプルに記述することを目的として作られた PHPテンプレートエンジンです。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

解決済

1回答

2928閲覧

EC-CUBE3の関数の実体が知りたいです

salt26

総合スコア15

Twig

Twig は、簡潔で可読性の高いテンプレートを記述することができ、 シンプルに記述することを目的として作られた PHPテンプレートエンジンです。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

0クリップ

投稿2018/10/04 07:56

EC-CUBE3のカスタマイズを行っております。
質問をさせてください。

Twigの関数(?)の実体が知りたいです。
例えば、デフォルトテンプレートの「Product/detail.twig」内、
215行目には、

twig

1{{ form_widget(form.quantity) }}

というものがあります。

この部分は最終的には

html

1<input type="number" id="quantity" name="quantity" required="required" min="1" maxlength="9" class="form-control" value="1" />

のように出力されていますが、いったいどのファイルのどの関数を経ているのでしょうか?

知識のある方、ぜひとも教えてください。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/10/04 11:26

キーワードでGrepしたりしてみましたか?(フォルダ・ファイル内検索)
salt26

2018/10/05 00:54

ありがとうございます。Grepしましたが、700件以上のヒットがあり、途方にくれていました。
guest

回答1

0

ベストアンサー

eccube-3.0.16をみると、このファイルのここで作ってるみたいです。
new \Twig_SimpleFunction('form_widget',・・・って箇所かと思います。

eccube-3.0.16\vendor\symfony\twig-bridge\Extension\FormExtension.php

PHP

1/** 2 * {@inheritdoc} 3 */ 4public function getFunctions() 5{ 6 return array( 7 new \Twig_SimpleFunction('form_enctype', null, array('node_class' => 'Symfony\Bridge\Twig\Node\FormEnctypeNode', 'is_safe' => array('html'), 'deprecated' => true, 'alternative' => 'form_start')), 8 new \Twig_SimpleFunction('form_widget', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), 9 new \Twig_SimpleFunction('form_errors', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), 10 new \Twig_SimpleFunction('form_label', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), 11 new \Twig_SimpleFunction('form_row', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), 12 new \Twig_SimpleFunction('form_rest', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), 13 new \Twig_SimpleFunction('form', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))), 14 new \Twig_SimpleFunction('form_start', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))), 15 new \Twig_SimpleFunction('form_end', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))), 16 new \Twig_SimpleFunction('csrf_token', array($this, 'renderCsrfToken')), 17 ); 18}

投稿2018/10/04 09:01

tomoyuki123

総合スコア273

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

salt26

2018/10/05 00:53

ご回答いただき、本当にありがとうございます。 ここで定義されていたのですね! EC-CUBEは(私にとっては)構造が複雑すぎて難しいです。 もう少し勉強をするようにいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問