普通模板与公共模板之间嵌套
普通模板的后缀:
dwt
公共模板的后缀:
lbi
普通模板可以嵌套公共模板
<!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem -->
公共模板无法嵌套普通模板
公共模板可以嵌套公共模板
{insert name='member_info'}
ECSHOP目录结构介绍
admin
后台管理系统的相关文件夹api
对外提供数据接口的相关文件夹cert
存放证书的文件夹data
数据连接设置等,包括各种广告的上传图片等images
上传商品图片文件夹includes
前台核心库文件夹(重点,属于模型层M)js
前台用js脚本文件夹languages
语言包文件夹temp
临时文件夹(编译、缓存)themes
模板文件夹(重点,属于视图层V)wap
手机浏览程序文件夹widget
小插件文件夹
模板内置标签
分支流程
<!-- {if $val.max_amount > 0} -->
{$val.max_amount}
<!-- {else} -->
{$lang.nolimit}
<!-- {/if} -->
循环流程
<!-- {foreach from=$val.act_range_ext item=ext} -->
{$ext.name}
<!-- {/foreach} -->
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\n");
exit;
}
}
在.lbi或.dwt模板文件中,对数据进行处理的源码实现
代码如下:
<div class="goods-brief">{$goods.brief|truncate:20}</div>
<div class="gos-title">{$goods.short_name|escape:html}</div>
在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://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。