if语句和下拉列表有问题

时间:2014-03-21 12:25:01

标签: php

我正在修改一个在线商店,其中一个产品有多种尺寸可供选择。客户使用下拉列表,其中填充了大小以选择他/她想要的大小。我正在尝试对其进行修改,以便当某个尺寸的库存耗尽时($ in_stock变为0),该特定尺寸的下拉列表中的选项会获得文本' - Out'添加到它。到目前为止,这就是我所拥有的,而我遇到的问题是当满足条件if($ in_stock == 0)时,文本' - Out'正在放置下拉列表中的每个大小,而不仅仅是已经用完的大小。任何人都可以指出我的代码错误吗?

另外,如何使缺货的尺寸选项变得灰暗并且无法选择?

如果代码的任何部分没有意义,请询问(我使用名为Lemonstand的电子商务平台。这是它的API http://v1.lemonstand.com/api/)。

由于

  <label class="title" for="<?= $control_name ?>"><?= h($option->name) ?></label>
    <select name="<?= $control_name ?>" onchange="return $(this).getForm().sendRequest('on_action', {onAfterUpdate: init_effects, update: {'product-page': 'shop:product'}})">
      <?
      $values = $option->list_values();
      foreach ($values as $value){
        if($in_stock == 0):

            $value = $value."- Out";
        }
      ?>

      <option <?= option_state($posted_value, $value) ?> value="<?= h($value) ?>"><?= h($value) ?></option>
      <? endforeach ?>
    </select>

1 个答案:

答案 0 :(得分:0)

我从$ in_stock = $ product-&gt; om(&#39; in_stock&#39;,$ posting_options);获得$ in_stock(剩余库存数量)。该代码表示​​获取存储产品信息的表中in_stock列下的任何数字。 $ product是一个对象,其中包含有关产品名称,大小,为该大小留下的库存等信息....我不确定$ posted_option是什么,我是从Lemonstand API复制的:这里:https://v1.lemonstand.com/api/class/shop_product/#om()

<? if ($product->options->count):

foreach($ product-&gt; options as $ option):       $ control_name =&#39; product_options [&#39;。$ option-&gt; option_key。&#39;]&#39;;

  $posted_options = Shop_ProductHelper::get_default_options($product);

  //gets current stock
  $in_stock = $product->om('in_stock', $posted_options);

  $posted_value = isset($posted_options[$option->option_key]) ? $posted_options[$option->option_key] : null;
?>
  <label class="title" for="<?= $control_name ?>"><?= h($option->name) ?></label>
    <select name="<?= $control_name ?>" onchange="return $(this).getForm().sendRequest('on_action', {onAfterUpdate: init_effects, update: {'product-page': 'shop:product'}})">
      <?
      $values = $option->list_values();
                var_dump($values);

      foreach ($values as $value):
        if($in_stock ==119):

            $value = $value."- Out";
        endif
      ?>

      <option <?= option_state($posted_value, $value) ?> value="<?= h($value) ?>"><?= h($value) ?></option>
      <? endforeach ?>
    </select>
<? endforeach ?>