ecshop2.7中$goods->spec属性规格
2009-10-19 18:12 来源:www.chinab4c.com 作者:ecshop专家
在ecshop中,往往在购买商品的详细页面,存在ecshop属性下拉,或者是ecshop中checkbox来实现点属性购买的。而且这个购买,都是通过ecshop的ajax机制,通过addToCart()函数写到flow.php中去的。
首先,详细页面属性,是通过spec_arr = getSelectedAttributes(formBuy);方式,既ecshop系统中js的getSelectedAttributes()函数来实现的。而在addToCart中通过 goods.spec = spec_arr;给flow.php
在flow.php中。 $json = new JSON;也就是用json来处理他,传递给php.而$goods = $json->decode($_POST['goods']);返回数组。可以通过$goods->spec方式得到。在ecshop中增加产品去购物车中的过程中。我们可以看到。lib_common.php函数中的db_create_in($item_list, $field_name = '')可以来处理这个属性。
分析下面ecshop函数
function db_create_in($item_list, $field_name = '')
{
if (empty($item_list))
{
return $field_name . " IN ('') ";
}
else
{
if (!is_array($item_list))
{
$item_list = explode(',', $item_list);
}
$item_list = array_unique($item_list);
$item_list_tmp = '';
foreach ($item_list AS $item)
{
if ($item !== '')
{
$item_list_tmp .= $item_list_tmp ? ",'$item'" : "'$item'";
}
}
if (empty($item_list_tmp))
{
return $field_name . " IN ('') ";
}
else
{
return $field_name . ' IN (' . $item_list_tmp . ') ';
}
}
}
如果传递过来的不是数组,那么他通过explode方式。 $item_list = explode(',', $item_list);来切割,从而进行sql语句的封装。对ecshop的属性进行处理和灵活构造。
相关文章:
来源:中国B4C电子商务
最近更新
常用插件
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...