バージョン選択

フォーラム

メニュー

オンライン状況

48 人のユーザが現在オンラインです。 (25 人のユーザが フォーラム を参照しています。)
登録ユーザ: 2
ゲスト: 46
kuroaa nascere もっと...

サイト内検索

プラグイン > 開発について > Twigのforブロック内に設置したフォームが1つしか表示されない

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shimbo
投稿日時: 2018/10/22 11:53
対応状況: −−−
半人前
登録日: 2018/10/5
居住地:
投稿: 24
Twigのforブロック内に設置したフォームが1つしか表示されない
[EC-CUBE] EC-CUBE3.0.16
[レンタルサーバ] さくらインターネット
[OS] reeBSD 9.1-RELEASE-p24
[PHP] 5.6.38
[データベース] MySQL 5.7.22-log
[WEBサーバ] Apache
[ブラウザ] Chrome
[導入プラグインの有無] 無し
[現象]

トップページに商品リストを表示し、各商品に個数フォームをつけて一括で商品をカートに追加したいと考えています。商品リストを表示することには成功しました。フォームの表示でつまずいています。Twigファイルのforブロック
{% for Product in pagination %}

の中に
{{ form_row(fdsc_form.XXXX_qty) }} 

を追加してフォームを表示させることはできたのですが、フォームが最初の商品にのみ表示され、二つめ以降の商品に表示されません。

HTMLのソースコードを見たところidが設定されているようなので、idに商品idを含めるような形にできればいいのかとも思うのですが、formの出力HTMLをカスタマイズする部分がよくわかりません。

手がかりを教えて頂ければ助かります。
よろしくお願いいたします。

sw_sn
投稿日時: 2018/10/22 17:22
対応状況: −−−
常連
登録日: 2018/5/25
居住地:
投稿: 36
Re: Twigのforブロック内に設置したフォームが1つしか表示されない
たしか、一度表示(レンダリング)すると、フラグが立って、2度目は表示しない仕様になっていたと思います。

ですので、以下見たいに変数に入れてしまえば2度出せると思います。

{% set html = form_row(fdsc_form.XXXX_qty) %}
{{ html|raw }}

form を dumpするとrendered というプロパティが確認することができます。
やり方がわからず恐縮ですが、それを false に設定できれば、もう少しキレイなコードが書けると思います。
shimbo
投稿日時: 2018/10/24 13:44
対応状況: −−−
半人前
登録日: 2018/10/5
居住地:
投稿: 24
Re: Twigのforブロック内に設置したフォームが1つしか表示されない
回答ありがとうございます。そういうフラグがあるんですね! 納得できました。

Twigでsetを使った表記があることも知りませんでしたので、勉強になります。

この質問をした後で、いろいろ調べて、なんとか解決できました。

dumpのやり方もまだ曖昧なのですが、いろいろ試してみたいと思います。ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は63,572名です
総投稿数は96,798件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2438
4
nanasess
2077
5
yuh
1612
6
umebius
1588
7
red
1406
8
h_tanaka
1022
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.