バージョン選択

フォーラム

メニュー

オンライン状況

35 人のユーザが現在オンラインです。 (12 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 34
tattsu もっと...

サイト内検索

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

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shimbo
投稿日時: 2018/10/22 11:53
対応状況: −−−
半人前
登録日: 2018/10/5
居住地:
投稿: 27
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
居住地:
投稿: 49
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
居住地:
投稿: 27
Re: Twigのforブロック内に設置したフォームが1つしか表示されない
回答ありがとうございます。そういうフラグがあるんですね! 納得できました。

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

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

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


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,646名です
総投稿数は109,891件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2311
5
umebius
2085
6
yuh
1819
7
h_tanaka
1635
8
red
1569
9
mcontact
1265
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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