ECSHOP商品属性货品显示货号库存简介
本插件实现关联属性显示货号和库存,不同于网上流传的免费版插件,网上流传的免费版本的ECSHOP颜色尺码库存插件,有一个最大的不尽人意的地方,那就是所有的颜色和尺码都显示在页面上,买家点中了那个颜色和尺码,系统才提示“库存为0”,个人认为这样的用户体验不是很好。本插件只显示有库存的颜色和尺码,库存为0的颜色和尺码自动隐藏不显示,同时支持后台开关功能。
<!-- {* 开始循环所有可选属性 *} -->
<!-- {foreach from=$specification item=spec key=spec_key} -->
<li class="padd loop">
<strong>{$spec.name}:</strong><br />
<!-- {* 判断属性是复选还是单选 *} -->
<!-- {if $spec.attr_type eq 1} -->
<!-- {if $cfg.goodsattr_style eq 1} -->
<!-- {foreach from=$spec.values item=value key=key} -->
{if $value.product_number}<label for="spec_value_{$value.id}">
<input type="radio" name="spec_{$spec_key}" value="{$value.id}" id="spec_value_{$value.id}" {if $key eq 0}checked{/if} onclick="changePrice()" />
{$value.label} [{if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if} {$value.format_price|abs}] {if $value.product_sn}货号:{$value.product_sn}{/if} 库存:{$value.product_number}</label><br />{/if}
<!-- {/foreach} -->
<input type="hidden" name="spec_list" value="{$key}" />
<!-- {else} -->
<select name="spec_{$spec_key}" onchange="changePrice()">
<!-- {foreach from=$spec.values item=value key=key} -->
<option label="{$value.label}" value="{$value.id}">{$value.label} {if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if}{if $value.price neq 0}{$value.format_price}{/if}</option>
<!-- {/foreach} -->
</select>
<input type="hidden" name="spec_list" value="{$key}" />
<!-- {/if} -->
<!-- {else} -->
<!-- {foreach from=$spec.values item=value key=key} -->
<label for="spec_value_{$value.id}">
<input type="checkbox" name="spec_{$spec_key}" value="{$value.id}" id="spec_value_{$value.id}" onclick="changePrice()" />
{$value.label} [{if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if} {$value.format_price|abs}] </label><br />
<!-- {/foreach} -->
<input type="hidden" name="spec_list" value="{$key}" />
<!-- {/if} -->
</li>
<!-- {/foreach} -->
<!-- {* 结束循环可选属性 *} -->
以上部分代码参考
ECSHOP商品属性货品显示货号库存效果图