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页,找到
<!-- {foreach from=$rank_prices item=rank_price key=key} 会员等级对应的价格-->
<strong>{$rank_price.rank_name}:</strong><font class="shop" id="ECS_RANKPRICE_{$key}">{$rank_price.price}</font><br />
<!--{/foreach}-->
全删掉!至此完美了!。