完美解决ecshop模板属性价格改为直接价格而不是加的价格的问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ecshop属性价格改为直接价格而不是加的价格的完美解决方案
(附价格项其他美化方法)
网上的ecshop属性价格改为直接价格而不是加的价格的解决方案如下:
打开文件,查找代码includes/lib_common.php
function get_final_price中
//如果需要加入规格价格
if ($is_spec_price)
{
if (!empty($spec))
{
$spec_price = spec_price($spec);
$final_price += $spec_price;
}
}
将此处的$final_price += $spec_price;的+号去掉
按照此方法改了,有个很大的bug,那就是其他没有添加属性的商品价格都为0了,我们的解决方案是修改成如下:
if ($is_spec_price)
{
if (!empty($spec))
{
$spec_price = spec_price($spec);
if($spec_price!=0)
$final_price = $spec_price;
}
}
要改成想京东淘宝那样,直接点击所属属性就显示其相应价格,而且后面不显示加**字样,方法如下:
1.先改商品价格随属性变动而变动
在你所在模板目录下的goods.dwt文件中找到价格那块的字段,找到价格前面的id,找到之后,在goods.dwt文件最底部复制下图画框上面一段,然后在下面粘贴一下,把上面价格里的id改到这块即可。
此图就是修改后的效果。
2.干掉加**字样
同样在该goods.dwt页,搜索{$bel} [{if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if} {$value.format_price|abs}]
替换成{$bel} {if $value.price gt 0}{elseif $value.price lt 0}{/if}
记得是全替换,大概有二三处,其实直接删掉也没问题的哦
3.最终效果如图
BUT!细心的朋友注意到没有,上面还有个注册用户的价格,是原始的价格,这样客户会引起误会,所以我们也得把它干掉!
同样在该goods.dwt页,找到
{$rank_price.rank_name}:{$rank_price.price}
全删掉!至此完美了!