[分享]【购物车技巧】7.0--多值字段。不同属性不同价格...【全解析】 7.0多值字段。不同属性不同价格。
首先增加一个text类型的多值字段。
内容模板中处理此字段:
[分享]【购物车技巧】7.0--多值字段。不同属性不同价格...【全解析】
7.0多值字段。不同属性不同价格。 首先增加一个text类型的多值字段。 内容模板中处理此字段: <?php $find=array("::::::","||||||"); $replace=array("|","|"); $duozhiarr=str_replace($find,$replace,$navinfor['duozhi']); $duozhiarr=explode("|",$duozhiarr); //遍历数组、获取此字段的属性 foreach( $duozhiarr as $k=>$v ) { if( $k % 2 == 0) { echo '<div class="duozhikey" style="padding:5px 10px 5px 10px;">'.$v.'</div>'; } else { $duozhival[]=$v; } } //遍历数组获取此字段的值。 $i=0; foreach( $duozhival as $v ) { $i++; if($i!=1) { $duozhivalcss=' duozhivalclass'; } echo '<div class="duozhival'.$duozhivalcss.'">您选择的型号价格为:¥<strong class="duozhiinputval">'.$v.'</strong></div>'; } ?> 不同属性和价格已经处理好需要的参数了,利用jquery可以快捷简单的实现我们需要的效果。 先发下我jquery做的处理大家可以参考下。这是客户的模板无法给大家全部代码: <script> $(function(){ //为第一个多值字段设置css样式 $(".ly_duozhi_key").find(".duozhikey").eq(0).addClass("duozhikey_hover"); $(".ly_duozhi_key").find(".duozhikey").click(function(){ //删除样式 $(".ly_duozhi_key > .duozhikey").removeClass("duozhikey_hover"); //this增加样式 $(this).addClass("duozhikey_hover"); var thisindex = $(this).index(); $(".ly_duozhi_val").find(".duozhival").hide(); $(".ly_duozhi_val").find(".duozhival").eq(thisindex).show(); //改变商品价格 $("input[name='shopprice']").val($(".ly_duozhi_val").find(".duozhiinputval").eq(thisindex).html()); }); }) </script> ////////////////////////////////////////////////// 内容页模板已经处理好。现在要实现不同的属性不同的价格就要修改购物车了。 1.传参: 可以用表单传递参数,也可以直接用url传递。这里推荐用表单传递参数。 <form action="[!--news.url--]e/ShopSys/doaction.php" name="gm" method="get" target="_blank"> 表单提交到 doaction.php 增加一个input 用js动态的改变他的value,这个balue就是此字段不同属性的价格提交到后台做处理 <input type="hidden" name="shopprice" value=""> 其他需要的表单这个大家参考帝国默认的即可【还需要有栏目ID和信息ID等】。 2.接受参数: 表单提交到doaction处理后倒入的是\e\ShopSys\class\ShopSysFun.php这个文件调用的是AddBuycar 打开ShopSysFun.php 121行下增加:setcookie("shopprices",$add['shopprice']); 以先在客户端cookie中写入表单get传递过来的价格不写cookie时间,等会表单提交以后在写一个cookie失效就可以。 这里用get也可以做到。不过相对来说还是cookie安全点 3:\e\template\ShopSys\buycar\buycar_form.php 56行下增加: $productr[price]=$_COOKIE['shopprices']; 4:\e\template\ShopSys\buycar\buycar_order.php 57行下增加 $productr[price]=$_COOKIE['shopprices']; \e\ShopSys\class\ShopSysFun.php 658行下增加: $productr[price]=$_COOKIE['shopprices']; *****************至此结束。 |
1:不同属性不同价格
上传以下图片:
|
|||
|
|
|
||||
|
|||||
|
|
|
||||
|
|||||
|
|
|
||||
|
|||||
|
|
|
||||
|
|||||
|
|
|
||||
|