博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ECSHOP 二次开发
阅读量:6037 次
发布时间:2019-06-20

本文共 3334 字,大约阅读时间需要 11 分钟。

普通模板与公共模板之间嵌套

  • 普通模板的后缀:dwt

  • 公共模板的后缀:lbi

  • 普通模板可以嵌套公共模板

  • 公共模板无法嵌套普通模板

  • 公共模板可以嵌套公共模板

{insert name='member_info'}

ECSHOP目录结构介绍

  • admin 后台管理系统的相关文件夹

  • api 对外提供数据接口的相关文件夹

  • cert 存放证书的文件夹

  • data 数据连接设置等,包括各种广告的上传图片等

  • images 上传商品图片文件夹

  • includes 前台核心库文件夹(重点,属于模型层M

  • js 前台用js脚本文件夹

  • languages 语言包文件夹

  • temp 临时文件夹(编译、缓存)

  • themes 模板文件夹(重点,属于视图层V

  • wap 手机浏览程序文件夹

  • widget 小插件文件夹

模板内置标签

  • 分支流程

{$val.max_amount}
{$lang.nolimit}
  • 循环流程

{$ext.name}

init.php 功能

  1. 参数过滤

  2. 初始化设置与数据定义

  3. 加载核心库与类

  4. 创建数据库连接与ECS对象

  5. 读取全局配置

  6. 初始化模板引擎配置

  7. 初始化session

  8. 其他

加载init.php后,就可以直接操作数据库以及使用模板引擎

移动设备 判断与处理

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile)/i";if (($ua == '' || preg_match($uachar, $ua)) && !strpos(strtolower($_SERVER['REQUEST_URI']), 'wap')) {    $Loaction = 'h5/';    if (!empty($Loaction)) {        ecs_header("Location: $Loaction\n");        exit;    }}

在.lbi或.dwt模板文件中,对数据进行处理的源码实现

  • 代码如下:

{$goods.brief|truncate:20}
{$goods.short_name|escape:html}
  • 在cls_template.php文件中,第601行:

if (!empty($moddb))        {            foreach ($moddb AS $key => $mod)            {                $s = explode(':', $mod);                switch ($s[0])                {                    case 'escape':                        $s[1] = trim($s[1], '"');                        if ($s[1] == 'html')                        {                            $p = 'htmlspecialchars(' . $p . ')';                        }                        elseif ($s[1] == 'url')                        {                            $p = 'urlencode(' . $p . ')';                        }                        elseif ($s[1] == 'decode_url')                        {                            $p = 'urldecode(' . $p . ')';                        }                        elseif ($s[1] == 'quotes')                        {                            $p = 'addslashes(' . $p . ')';                        }                        elseif ($s[1] == 'u8_url')                        {                            if (EC_CHARSET != 'utf-8')                            {                                $p = 'urlencode(ecs_iconv("' . EC_CHARSET . '", "utf-8",' . $p . '))';                            }                            else                            {                                $p = 'urlencode(' . $p . ')';                            }                        }                        else                        {                            $p = 'htmlspecialchars(' . $p . ')';                        }                        break;                    case 'nl2br':                        $p = 'nl2br(' . $p . ')';                        break;                    case 'default':                        $s[1] = $s[1]{0} == '$' ?  $this->get_val(substr($s[1], 1)) : "'$s[1]'";                        $p = 'empty(' . $p . ') ? ' . $s[1] . ' : ' . $p;                        break;                    case 'truncate':                        $p = 'sub_str(' . $p . ",$s[1])";                        break;                    case 'strip_tags':                        $p = 'strip_tags(' . $p . ')';                        break;                    default:                        # code...                        break;                }            }        }        return $p;

转载地址:http://lvlhx.baihongyu.com/

你可能感兴趣的文章
mssql手工注入
查看>>
zoj 3203 Light Bulb,三分之二的基本问题
查看>>
Oracle如何删除表中重复记录
查看>>
洛谷八月月赛Round1凄惨记
查看>>
Retrofit 入门学习
查看>>
【树莓派】树莓派网络配置:静态IP、无线网络、服务等
查看>>
JavaScript——双向链表实现
查看>>
抽象类和借口的区别
查看>>
WebConfig配置文件详解
查看>>
nginx的location root 指令
查看>>
zDiaLog弹出层
查看>>
linux不常用但很有用的命令(持续完善)
查看>>
NFine常见错误
查看>>
zabbix报警媒介------>微信报警
查看>>
使用视图的好处
查看>>
面向开发运维的10款开源工具
查看>>
MVC ---- 增删改成 EF6
查看>>
linux 下 php 安装 pthreads
查看>>
Spring Boot学习笔记
查看>>
python3存入redis是bytes
查看>>