我正在修改一个在线商店,其中一个产品有多种尺寸可供选择。客户使用下拉列表,其中填充了大小以选择他/她想要的大小。我正在尝试对其进行修改,以便当某个尺寸的库存耗尽时($ 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>
答案 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 ?>