你说的应该是唯一属性吧,唯一属性是在后台,商品类型-商品属性里添加,之后商品编辑-商品属性里调用的。所以唯一属性没有独立的变量,他的变量形式是一段循环。
<!-- {foreach from=$properties item=property_group key=key} -->
<!-- {foreach from=$property_group item=property} -->
<div>{$property.name|escape:html}:{$property.value}</div>
<!-- {/foreach}-->
<!-- {/foreach}-->
调用几个这里就会循环几次。
下面说一下唯一属性的调用方法
第一,唯一属性的特点:
其实唯一属性可以理解为只有一种可能的属性,类似于“产地”“保质期”这些都是,因为无论是产地还是保质期只有一种可能,产地不是上海或者北京就是其他地方,保质期也是,12个月或者1年等等。
第二,唯一属性的前台表现:
唯一属性一般存在于商品详细页,具体展现在哪里要看模板设计师调用的变量在哪里,一般展示在如下位置:
这种可能就是在商品描述的上面
还有一种可能在商品图片右侧部分
第三,唯一属性的后台设置
其实唯一属性的设置是比较简单的,按我说的做就行
1,商品管理 - 商品类型里 新建商品类型
2,比如输入服装两字,商品分组这里不需要 留空就行
3,加完之后返回类型列表,点击属性列表
4,默认是没有的,点击添加属性
5,属性名称比如输入“产地”,属性是否可选那里默认是“唯一属性”保持就行,下面那个可选值的框框的意思是如果你有几个默认的产地那么就直接输入一行一个,比如你的产品除了上海就是广州,那么你可以输入上海之后换行再输入广州
6,最后商品编辑 - 商品属性调用就行,这里手动输入上海,如果之前有了可选值这里直接选择即可
这样唯一属性就设置完了,有问题欢迎大家来探讨
goods.dwt修改如何下:<!-- {foreach from=$spec.values item=value key=key} -->
<a {if $key eq 0}class="cattsel"{/if} onclick="changeAtt(this,{$value.id},{$goods.goods_id})" href="javascript:" name="{$value.id}" title="[{if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if} {$value.format_price|abs}]">{$value.label}<input style="display:none" id="spec_value_{$value.id}" type="radio" name="spec_{$spec_key}" value="{$value.id}" {if $key eq 0}checked{/if} /></a>
<!-- {/foreach} -->
在显示详细信息合适的地方加
<font style=" color:#CCCCCC">(库存:<font id="shows_number">{$goods.goods_number} {$goods.measure_unit}</font>)</font>
这是动态加载库存的地方
选择打钩这个样式论坛有人发过 也不是很难 我不在详细贴出
在goods.dwt加js代码
function changeAtt(t,a,goods_id) {
t.lastChild.checked='checked'
for (var i = 0i<t.parentNode.childNodes.lengthi++) {
if (t.parentNode.childNodes[i].className == 'cattsel') {
t.parentNode.childNodes[i].className = ''
}
}
t.className = "cattsel"
var formBuy = document.forms['ECS_FORMBUY']
spec_arr = getSelectedAttributes(formBuy)
Ajax.call('goods.php?act=get_products_info', 'id=' + spec_arr+ '&goods_id=' + goods_id, shows_number, 'GET', 'JSON')
changePrice()
}
function shows_number(result)
{
if(result.product_number !=undefined)
{
$('shows_number').innerHTML = result.product_number+'件'
}
else
{
$('shows_number').innerHTML = '未设置'
}
}
打开goods.php添加70行左右吧
if (!empty($_REQUEST['act']) &&$_REQUEST['act'] == 'get_products_info')
{
include('includes/cls_json.php')
$json = new JSON
// $res = array('err_msg' =>'', 'result' =>'', 'qty' =>1)
$spce_id = $_GET['id']
$goods_id = $_GET['goods_id']
$row = get_products_info($goods_id,explode(",",$spce_id))
//$res = array('err_msg'=>$goods_id,'id'=>$spce_id)
die($json->encode($row))
}
通过以上 *** 作便可实现淘宝类似功能,有关点击购物车d出层效果
http://www.aspku.com/cms/ecshop/4314.html
网上流传的免费版ECSHOP颜色尺码库存插件,有一个最大的不尽人意的地方,
那就是所有的颜色和尺码都显示在页面上,
当买家点中了某个颜色和尺码,系统才提示“库存为0”。
个人认为这样的用户体验不是很好。
此插件已经做了升级改进,
只显示有库存的颜色和尺码,
本插件暂不免费共享,欢迎访问演示并提出宝贵意见,以期待更完善
首先请看演示地址,多个演示地址对比着看,效果更明显
演示地址1:已关
演示地址2:http://www.ecshop120.com/plugin-24.html
演示地址3:已关
演示地址4:已关
更多详情,请查阅
http://www.ecshop120.com/plugin-24.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)