質問 > フロント機能 > 商品詳細ページに規格に関する情報を表示させたい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sksn |
投稿日時: 2017/9/12 15:29
対応状況: −−−
|
新米 登録日: 2013/9/17 居住地: 投稿: 10 |
商品詳細ページに規格に関する情報を表示させたい [EC-CUBE] 3.0.11
[レンタルサーバ] heteml [OS] Linux [PHP] 7.0.15 [データベース] MySQL 5.6.13-log [WEBサーバ] Apache [現象] 標題について、教えて頂けますでしょうか。 商品詳細ページ(detail.twig)に、規格に関する詳しい情報を掲載したいと思っています。 例えば、 重さ:1kg/2kg(←規格1の情報) 入り数:25本/50本(←規格2の情報) のようなことを表示させたいです。 「重さ」や「入り数」のような規格名は {{ Product.className1 }} で表示することができたのですが、 各規格に登録してある情報はどのように表示させたらよいのか、 他のファイル等も参考にしてみたのですが、上手く行かず、、、。 どなかた教えて頂けるとありがたいです。 よろしくお願いします。 |
hata |
投稿日時: 2017/9/12 18:35
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: 商品詳細ページに規格に関する情報を表示させたい twig側で処理を作り込むのは良くないとよく(そうでもないか?)目にするのでお奨めはしませんが、
Product.ProductClassesをforで回してProductClass.ClassCategory1.nameと~2.name を拾い、それぞれ配列にかぶらないように追加します。 forが終わったあとで各配列の中身をProduct.className1と~2と合わせて出力してやる感じで できると思います。 必要になるのはtwigの知識だと思うのであとは調べながらやってみてください。 で、Controllerでやるのが正しいやりかただと推奨されているようなので、これができたら同じ様な処理を Controller側に作り込んで、フォームには仕上がりの文字列を渡して表示するようにしてみると良いでしょう。 これでレベルアップだわ。 Controller側で処理を実装してフォームにデータを渡して表示するようなカスタマイズはコミュニティで 探せば色々見つかると思うのでこちらも割愛します。 twigに処理を作り込むのが推奨されないのは、遅くなるという理由からなんでしょうかね。。。 |
sksn |
投稿日時: 2017/9/13 15:00
対応状況: 解決済
|
新米 登録日: 2013/9/17 居住地: 投稿: 10 |
Re: 商品詳細ページに規格に関する情報を表示させたい ご返信ありがとうございます!
>>twig側で処理を作り込むのは良くないとよく(そうでもないか?)目にするのでお奨めはしませんが、 そうなんですね。。。 Controller側の処理を作るというのがよくわからなかったため、 今回はtwig側で処理するようにしました。 思ったような動きになりました、ありがとうございます。 |
hata |
投稿日時: 2017/9/13 16:37
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: 商品詳細ページに規格に関する情報を表示させたい こんな感じ(行頭+が追加行)でsrc/Eccube/Controller/ProductController.phpに処理をいれてやると、
twigの方でproduct_class_string1とproduct_class_string2が使えるようになります。
twig側
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |