资讯专栏INFORMATION COLUMN

ECSHOP 二次开发

enda / 1641人阅读

摘要:普通模板与公共模板之间嵌套普通模板的后缀公共模板的后缀普通模板可以嵌套公共模板公共模板无法嵌套普通模板公共模板可以嵌套公共模板目录结构介绍后台管理系统的相关文件夹对外提供数据接口的相关文件夹存放证书的文件夹数据连接设置等,包

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

普通模板的后缀: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 功能

参数过滤

初始化设置与数据定义

加载核心库与类

创建数据库连接与ECS对象

读取全局配置

初始化模板引擎配置

初始化session

其他

加载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
");

        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;

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22902.html

相关文章

  • eweapp:ECShop非官方版微信小程序商城

    摘要:非官方版微信小程序商城,基于版本接口,兼容原有程序,没有对原有程序代码进行过任何改动。 eweapp ECShop非官方版微信小程序商城,基于3.6版本appserver接口,100%兼容原有程序,没有对原有程序代码进行过任何改动。 GitHub https://github.com/tumobi/eweapp 功能列表 首页: 轮播图、商城滚动公告、精品推荐、新品上市、销量排行 分...

    libxd 评论0 收藏0
  • nginx学习之——rewrite

    摘要:当前请求在指令中指定的值。请求主机头字段,否则为服务器名称。客户端信息客户端信息这个变量可以限制连接速率。已经经过验证的用户名。请求使用的协议,通常是或。请求到达服务器的端口号。包含请求参数的原始,不包含主机名,如。 rewrite配置在server{}、location{}、if{}段中 ,对Url中除去域名和参数的字符串起作用 一、语法:rewrite regex replacem...

    Lavender 评论0 收藏0
  • 基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选)

    摘要:高仿网易严选的微信小程序商城微信小程序客户端界面高仿网易严选商城主要是年版测试数据采集自网易严选商城功能和数据库参考服务端基于计划添加基于的后台管理系统版版喜欢请项目截图功能列表首页分类首页分类商品新品首发人气推荐商品页面商品详情页面,包含 高仿网易严选的微信小程序商城(微信小程序客户端) 界面高仿网易严选商城(主要是2016年wap版) 测试数据采集自网易严选商城 功能和数据库参考...

    fancyLuo 评论0 收藏0
  • 简杰的php编程分享-1.2 xdebug的实际运用

    摘要:单击此按钮可暂停程序执行。单击此按钮,通过标准关闭脚本从外部终止当前进程。实际上,插入符号处的当前行有一个临时断点集,一旦程序执行暂停,就会删除它。心中始终十分抗拒,导致功能变更延期。 介绍 在 上一期 中我们已经把 xdebug 和 phpstorm 的关联配置设置好了,接下来我将会深入的介绍 debug 的运用。分为3点内容 快速找到错误的原因 辅助读懂比效复杂的代码 代码重构 ...

    ls0609 评论0 收藏0
  • 阿里云服务器被挖矿怎么解决

    摘要:微软雅黑宋体春节刚开始,我们安全,发布了年服务器被挖矿的整体安全分析报告。我们调查分析发现,从网站漏洞被爆出后到修复漏洞的时间约大,一些网站被攻击的状况就越严重,服务器被挖矿的事情就会发生,如果及时的修复漏洞,那么就可以避免被挖矿。春节刚开始,我们SINE安全,发布了2018年服务器被挖矿的整体安全分析报告。该安全报告主要是以我们去年的整一年的安全数据为基础,对这些服务器的被挖矿的整体情况进...

    jas0n 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<