请问ecshop如何调用指定商品属性,如商品尺寸,颜色等等。

请问ecshop如何调用指定商品属性,如商品尺寸,颜色等等。,第1张

你说的应该是唯一属性吧,唯一属性是在后台,商品类型-商品属性里添加,之后商品编辑-商品属性里调用的。所以唯一属性没有独立的变量,他的变量形式是一段循环。

<!-- {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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11605685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存