質問 > フロント機能 > 個数を指定する窓の表示・非表示の切り替え |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sower |
投稿日時: 2011/5/3 22:57
対応状況: −−−
|
半人前 登録日: 2011/4/19 居住地: 投稿: 11 |
個数を指定する窓の表示・非表示の切り替え 首記の件についてお尋ねします。
制作中のサイトでは、在庫が複数ある商品をほとんど扱わないため、在庫がひとつ以上の時以外は個数を指定する窓を非表示に、 在庫のある商品の場合は窓を表示するカスタマイズを試みました。 商品一覧では <!--{if $arrProducts[cnt].stock_max > "1"}--> 詳細では <!--{if $arrProduct.stock_max > "1"}--> というふうに、在庫が1以上なら表示、それ以外なら非表示という分岐条件を考えました。これでうまく表示・非表示の切り替えはできたのですが、 カゴボタンが利かなくなりました。カゴボタンをクリックしてもカゴに入らず、カゴの中の画面にも移動せずという状態です。 上記コード以外にも在庫が1と等しければ==とか、1と等しくない時!=とか、CSSでvisiblity: hidden とかdisplay: none とか 試しましたが、カゴボタンの機能と個数指定する窓の表示・非表示の切り替えが、現在のところトレードオフの状態です。 こういった場合の解決策、または原因の突き止め方をご存知でしょうか。 どうぞよろしくお願いいたします。 (以下追記) ------------------------------------------------------- [EC-CUBE] 2.4.4正式版 [レンタルサーバ] なし(XAMPPにてローカル運用) [OS] Windows NT MICETAO 5.1 build 2600 [PHP] PHP 5.2.9 [データベース] PostgreSQL 8.3.12, [WEBサーバ] Apache/2.2.11 ------------------------------------------------------- |
fukap |
投稿日時: 2011/5/4 12:12
対応状況: −−−
|
仙人 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 個数を指定する窓の表示・非表示の切り替え とりあえず商品一覧のカスタマイズ例を考えてみました。
応用すれば、商品詳細の方もいけると思います。 list.tplの146行目付近です。
|
sower |
投稿日時: 2011/5/4 14:34
対応状況: −−−
|
半人前 登録日: 2011/4/19 居住地: 投稿: 11 |
Re: 個数を指定する窓の表示・非表示の切り替え fukap様、またお助けくださりありがとうございます。
早速試させていただきましたが、商品一覧では完全に機能いたしませんでした。目的の窓の表示・非表示は、 在庫の有無によってちゃんと分岐されました。しかし、カゴボタンが機能しないところがあります。 レイアウトはご存知の通り横型3列ですが、機能したのは左側[cnt]のみで、あとの[$cnt4][$cnt3]と変更した 真ん中と右側のカゴボタンは機能しませんでした。(カゴに入らず、カゴ画面に移動せずです。) これはまたしても、なにか他の部分と緩衝しているのかもしれません。例えば先のカスタマイズでやっとできたカゴボタンとか? 商品詳細の方は、以下のようなコードでうまくいきました! とくにおかしなところがあればご指摘いただけますでしょうか。 <!--{assign var=quantity value=quantity`$id`}--> <!--{if $arrProduct.stock_max > 1 && $arrProduct.stock_unlimited_max != 1}--> <dl> <dt>個数:</dt> <dd><input type="text" name="quantity" class="box54" value="<!--{$arrForm.quantity.value|default:1}-->" maxlength="<!--{$smarty.const.INT_LEN}-->" style="<!--{$arrErr.quantity|sfGetErrorColor}-->" /> <!--{if $arrErr.quantity != ""}--> <br /><span class="attention"><!--{$arrErr.quantity}--></span> <!--{/if}--> </dd> <!--{else}--> <input type="hidden" name="<!--{$quantity}-->" size="3" class="box54" value="1" maxlength="<!--{$smarty.const.INT_LEN}-->" style="<!--{$arrErr[$quantity]|sfGetErrorColor}-->" /> <!--{/if}--> </dl> 商品詳細の方は、もうちょっと検討してみます。またよろしくお願いいたします。 |
fukap |
投稿日時: 2011/5/4 19:56
対応状況: −−−
|
仙人 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 個数を指定する窓の表示・非表示の切り替え 以下スレの続きですね。
横型商品一覧にカゴ入れるボタンをつけたい http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7607&forum=10&post_id=38313#forumpost38313 商品詳細の方はうまくいったようですね。 私の理解では特に問題はないように見受けられます。 私の記述の問題ですが、<!--{else}-->の後の行は、無駄なプロパティが記述されているので、 次のように書いた方がスマートだと思いました。
商品一覧についても同様の方法でできると思いますが、 横型3列に商品リストを並べる場合は、商品に関する記述が左・中央・右と3箇所に分かれていますので、 上記で行った修正を中央・右の商品にもしてあげないといけないと思います。 例えば、中央の商品については以下のような記述になると思います。
同様に右の商品についても、$cnt4→$cnt3、$id4→$id3に変更してみると、 うまくいったりしませんか? |
sower |
投稿日時: 2011/5/5 0:10
対応状況: 解決済
|
半人前 登録日: 2011/4/19 居住地: 投稿: 11 |
Re: 個数を指定する窓の表示・非表示の切り替え 投稿ありがとうございます。うまくいきました!
原因は私のケアレスミスでした。ちゃんと左・中央・右と3箇所に分けて書いたつもりだったのですが、 一番上の行の$idをちゃんと$id4、$id3とかき分けていませんでした。正しく書き直すと期待通り機能しました。 また、スマートに書き直してくださった1行も反映させました。fukap様にまた助けていただき感謝です。 本当にありがとうございました。 (このスレに書かれたコードでうまく動きますので、同様の問題でつまづいている方がおられましたら ぜひ参考にしてみてください。) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |