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'];
*****************至此结束。
楼下传图
|