ecshop格式化商品价格

<?php
/**
 * 格式化商品价格
 *
 * @access  public
 * @param   float   $price  商品价格
 * @return  string
 */
function price_format($price, $change_price = true)
{
    if($price===‘‘)
    {
     $price=0;
    }
    if ($change_price && defined(‘ECS_ADMIN‘) === false)
    {
        switch ($GLOBALS[‘_CFG‘][‘price_format‘])
        {
            case 0:
                $price = number_format($price, 2, ‘.‘, ‘‘);
                break;
            case 1: // 保留不为 0 的尾数
                $price = preg_replace(‘/(.*)(\\.)([0-9]*?)0+$/‘, ‘\1\2\3‘, number_format($price, 2, ‘.‘, ‘‘));

                if (substr($price, -1) == ‘.‘)
                {
                    $price = substr($price, 0, -1);
                }
                break;
            case 2: // 不四舍五入,保留1位
                $price = substr(number_format($price, 2, ‘.‘, ‘‘), 0, -1);
                break;
            case 3: // 直接取整
                $price = intval($price);
                break;
            case 4: // 四舍五入,保留 1 位
                $price = number_format($price, 1, ‘.‘, ‘‘);
                break;
            case 5: // 先四舍五入,不保留小数
                $price = round($price);
                break;
        }
    }
    else
    {
        $price = number_format($price, 2, ‘.‘, ‘‘);
    }

    return sprintf($GLOBALS[‘_CFG‘][‘currency_format‘], $price);
}
?>
时间: 2024-08-13 18:52:27

ecshop格式化商品价格的相关文章

商品价格格式化

/* * number_price(准备要开始的价格,要保留的小数位数,小数点显示的符号,千分位分隔符) * php4,php5 * 默认将进行四舍五入处理 */ //牛刀小试,深入其意 $old_price = '123456.345'; $new_price01 = number_format($old_price,2,'.',','); var_dump($new_price01);//123,456.35 $new_price02 = number_format($old_price,2

ECShop函数列表大全

lib_time.php gmtime() P: 获得当前格林威治时间的时间戳 /$0 server_timezone() P: 获得服务器的时区 /$0 local_mktime(hour=NULL,hour=NULL,minute= NULL, second=NULL,second=NULL,month = NULL,  day=NULL,day=NULL,year = NULL) P: 生成一个用户自定义时区日期的GMT时间戳 local_date(format,format,time =

ecshop前后台函数库整理

开源it 接触ecshop差不多半年了,大致的东西基本上也都掌握,为了提高效率,整理了一下ecshop的一些函数库,包括前台还有后台的. 熟悉这些函数,可以减少不少麻烦,熟悉之后,你遍知道系统有哪些已经写好的功能,很多时候就可以直接拿来用,而不用因为不知道,去手写代码,这样就很不划算了. lib_main.php ECSHOP 前台公用函数库 update_user_info    更新用户SESSION,COOKIE及登录时间.登录次数. get_user_info     获取用户信息数组

ECSHOP常用函数

lib_time.php gmtime() #获得当前格林威治时间的时间戳 /$0 server_timezone() #获得服务器的时区 /$0 local_mktime($hour = NULL , $minute= NULL, $second = NULL, $month = NULL, $day = NULL, $year = NULL) #生成一个用户自定义时区日期的GMT时间戳 local_date($format, $time = NULL) #将GMT时间戳格式化为用户自定义时区

ecshop 后台添加成本价

ecshop后台admin中的商品操作php文件,goods.php替换为下面的代码, 还要在数据库商品本店售价后门添加  cost  字段 为 商品成本价 下面代码主要为:商品入库时将商品原价一并写入数据库 还有就是  后台  模板文件( admin/templates/goods_info.htm )  记得添加成本价的  文本框 admin/goods.php 全部替换为下面的代码 <?php /** * ECSHOP 商品管理程序 * ==========================

解决ECSHOP中transport.js和jquery的冲突

ecshop模板兼容jquery问题, 一直是困扰开发人员的棘手问题,主要原因是 transprot.js  文件中, 大概 580行到590行之间,这个句用于格式化json,他重写了object的结构,导致于js框架冲突.冲突的原因是jquery给一个object增加了很多元素,那么在Object.prototype.toJSONString = function () 这个函数中 for (k in this) 语句中进行了无数次的循环,导致网页很卡,并且在IE中会报错. ecshop开发中

ecshop 属性表(attribute)商品属性表(goods_attr)货品表(prduct) 商品数量的联系

一个商城的商品属性存放在属性表(attribute)里 ,每个商品对应的属性在goods_attr里 goods_attr与(attribute)想关联,商品表里有商品数量的字段goods_number为什么有这个货品表呢? 因为 某件商品有多种属性的时候,那这个商品就成为了货品,也就是说不同属性的相同商品应该也存在差异,所以当设置商品属性的attr_type=1(表示单选属性)的时候,在 前台include/lib_comment.php 函数sort_goods_attr_id_array将

ecshop 调试语句书写

在ecshop中我们要调试的时候经常使用 var_dump($val); die(); 来输出查看变量.但是当变量过多的时候,就会显示不全,这时候我们会考虑使用print_r print_r($val); die(); 但是,这样输出的内容不是很工整,因此我们想要格式化一下它,所以修改为: echo "<pre>"; print_r($val); echo "</pre>"; die(); 这样子,我们就可以很好的查看各个变量了,但是我们不想

【Ecshop】修改处理用户购物车的行为

Ecshop v2.7.3的购物车处理方面在现在看来有比较反用户体验的设计: 用户未登录时加入购物车的商品,在用户登录后会被清空而不是加入到登录用户的购物车中: 用户登录后加入购物车的商品,在退出后会被清空. 这两种设计在现在看来简直不可理喻,对用户极不友好,作为一个以流量至上的商城,这样的设计会导致客户的流失. 查看源码才发现,ecshop是以session_id作为保存购物车商品的依据,而不是用户id.个人认为这样的设计是由于其以下单为主,用户有没有注册都可以直接下单,这样就导致其整套逻辑以