Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php if状态和下拉列表有问题_Php - Fatal编程技术网

Php if状态和下拉列表有问题

Php if状态和下拉列表有问题,php,Php,我正在修改一个网上商店,在那里一个产品有几个尺寸可供选择。客户使用一个下拉列表来选择他/她想要的尺码。我正试图修改它,以便当某个特定大小的股票用完$in_stock时变为0,该特定大小的下拉列表中的选项将添加文本“-out”。到目前为止,这就是我所拥有的,而我所面临的问题是,当满足$in_stock==0的条件时,文本'-Out'会出现在下拉列表中的每个尺寸上,而不仅仅是已经用完的尺寸。有人能指出我在代码上的错误吗 另外,我如何使缺货的尺码选项变灰,无法选择 如果代码的任何部分没有意义,请询问我

我正在修改一个网上商店,在那里一个产品有几个尺寸可供选择。客户使用一个下拉列表来选择他/她想要的尺码。我正试图修改它,以便当某个特定大小的股票用完$in_stock时变为0,该特定大小的下拉列表中的选项将添加文本“-out”。到目前为止,这就是我所拥有的,而我所面临的问题是,当满足$in_stock==0的条件时,文本'-Out'会出现在下拉列表中的每个尺寸上,而不仅仅是已经用完的尺寸。有人能指出我在代码上的错误吗

另外,我如何使缺货的尺码选项变灰,无法选择

如果代码的任何部分没有意义,请询问我正在使用一个名为Lemonstand的电子商务平台。这是它的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>

我从$in_stock=$product->om'in_stock',$posted_options;中获得$in_stock剩余股票数;。代码表示获取存储产品信息的表中in_stock列下的任何数字$product是一个对象,它包含有关产品名称、大小、该大小的剩余库存等信息。我不确定$posted_选项是什么,我从Lemonstand API复制了它:这里:

foreach$product->options as$选项: $control_name='product_options['.$option->option_key.]'

  $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 ?>

你想在哪里结束你的if,我想你的foreach已经结束了??你如何设置$in_股票变量?在我看来,您的$in_股票变量应该在for循环中发生变化,因为每个大小的$in_股票都应该有自己的值。由于$in_stock在for循环中不会改变,当$in_stock所指的任何大小变为0时,如果$in_stock==0,则该行对每个大小都为真。我从$in_stock=$product->om'in_stock',$posted options;中得到剩余的$in_stock股票数;。代码表示获取存储产品信息的表中in_stock列下的任何数字$product是一个对象,它包含有关产品名称、大小、该大小的剩余库存等信息。我不确定$posted_选项是什么,我从Lemonstand API复制了它:这里:我将在这里粘贴整个代码,但我必须再等8个小时才能执行Stackoverflow站点规则:我明白你的观点elitechief21。如何更改代码,使其通过$product对象,为每个尺寸获得$in_库存,而不是为所有尺寸获得相同的值?
  $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 ?>