商品詳細画面の数量入力フィールドをプルダウンメニューに変更できない

ホーム フォーラム その他 商品詳細画面の数量入力フィールドをプルダウンメニューに変更できない

このトピックには3件の返信が含まれ、3人の参加者がいます。4 年、 4 ヶ月前 yskysmr さんが最後の更新を行いました。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #69875

    hiyo
    参加者

    お世話になっております。

    welcart公式ガイド「小さなECサイトのWordPress+Welcart導入・設定ガイド」にて、
    「数量入力フィールドをセレクトフィールドに変更する」のカスタマイズを、現在
    製作中のテーマに導入をしようとしております。

    しかし、セレクトフィールドは表示されるにも関わらず、数量が表示されない(何も選択できない)状態となっております。(*画像参照)

    また、現在製作中のテーマだけでなく、welcartデフォルトテーマでも同様の症状が出ます。
    仕様の変更などがあったため表示がされないのでしょうか?
    それでなければ他にカスタマイズした箇所が原因でエラーになっているのかもしれませんが、
    分かる範囲でご教授願いませんでしょうか?

    ——————————————-
    WordPress のバージョン:3.9
    Welcart のバージョン:1.3.14
    ご利用のテーマ:welcart calm
    症状を確認したブラウザ:safiri
    サーバー(会社名、サービス名):エックスサーバー
    SSLの利用: 利用あり
    WordPress のパーマリンク設定:カスタム
    ——————————————–

    Attachments:
    You must be logged in to view attached files.
    #69890

    nanbu
    参加者

    こんにちは。

    いただきました情報だけでは推測できません。
    実際のコードを見せていただけますか?

    #69895

    hiyo
    参加者

    nanbu 様

    ご連絡ありがとうございます。
    該当すると思われる箇所をコードを記載致しますので、
    恐れ入りますがご確認の程よろしくお願い致します。

    【functions.php】
    function bks_the_itemQuant_select( $max ){global $post, $usces;
    if(empty($max)){$max = 10;}
    $zaiko = usces_the_itemZaikoNum(‘return’);
    $sku_enc = urlencode(usces_the_itemSku(‘return’));
    $restriction = $usces->getItemRestriction($post->ID);
    if( (” != $zaiko && 0 < $zaiko && ” != $restriction && $zaiko > $restriction) || (” == $zaiko && ” != $restriction) ){
    $max = $restriction;}
    elseif( ” != $zaiko && 0 < $zaiko && ” != $restriction && $zaiko < $restriction ){$max = $zaiko;}
    $select = ‘<select name=”quant[‘ . $post->ID . ‘][‘ . $sku_enc . ‘]” id=”quant[‘ . $post->ID . ‘][‘ . $sku_enc . ‘]” class=”skuquantity” onkeydown=”if (event.keyCode == 13) {return false;}”>’ . “\n”;
    for($i=1; $i<=$max; $i++){
    $select .= ‘<option value=”‘ . $i . ‘”>’ . $i . ‘</option>’ . “\n”;}
    $select .= ‘</select>’;
    echo $select;}

    【製作中のsingle.item.php】
    <div class=”actionform”>
    <form action=”<?php echo USCES_CART_URL; ?>” method=”post”>
    <?php usces_the_itemGpExp(); ?>
    <div class=”skuform”>
    <?php if (usces_is_options()) : ?>
    <table class=’skusingle’>
    <?php while (usces_have_options()) : ?>
    <tr><th><?php usces_the_itemOptName(); ?></th><td><?php usces_the_itemOption(usces_getItemOptName(),”); ?></td></tr>
    <?php endwhile; ?>
    </table>
    <?php endif; ?>
    <?php if( !usces_have_zaiko() ) : ?>
    <div class=”zaiko_status”><?php echo apply_filters(‘usces_filters_single_sku_zaiko_message’, __(‘Sold Out’,’usces’)); ?></div>
    <?php else : ?>
    <div class=”addtocart”>
    <div style=”margin-top:10px”><?php _e(‘Quantity’, ‘usces’); ?><?php bks_the_itemQuant_select( 30 ); ?> <?php usces_the_itemSkuUnit(); ?><?php usces_the_itemSkuButton(__(‘Add to Shopping Cart’, ‘usces’), 0); ?></div>
    <div class=”error_message”><?php usces_singleitem_error_message($post->ID, usces_the_itemSku(‘return’)); ?></div>
    <?php wpfp_link() ?>
    <?php endif; ?>
    </div><!– end of skuform –>
    <?php echo apply_filters(‘single_item_single_sku_after_field’, NULL); ?>
    <?php do_action(‘usces_action_single_item_inform’); ?>
    </form>
    </div>

    #69937

    yskysmr
    キーマスター

    こんにちは。

    bks_the_itemQuant_select をこちらのサイトに展開してみたのですが、php のエラーが出ていることにお気付きでしょうか。
    php のエラーを取るためには、DEBUG_MODE を true にして検証してください。

    例えば、以下のコード
    if( (” != $zaiko && 0 < $zaiko && ” != $restriction && $zaiko > $restriction) || (” == $zaiko && ” != $restriction) ){
    の中の「” != $zaiko」の比較値ですが、ダブルクォーテーションになっています。正しくは半角のシングルクォーテーションが2つ、です。

    php の条件分岐が正しく動作しますと、数量も表示されるかと思います。

4件の投稿を表示中 - 1 - 4件目 (全4件中)

このトピックに返信するにはログインが必要です。