手机
当前位置:查字典教程网 >编程开发 >php教程 >使ecshop模板中可引用常量的实现方法
使ecshop模板中可引用常量的实现方法
摘要:比如$smarty.const.'常量',这个就不能用。其实模板引擎原理上并不复杂,只是把一些模板标签替换为php中的函数,变量,语法结构罢...

比如$smarty.const.'常量',这个就不能用。

其实模板引擎原理上并不复杂,只是把一些模板标签替换为php中的函数,变量,语法结构罢了。

这次要在ecshop模板中加入引用常量的功能,只需在函数make_var()中加入两行代码

复制代码 代码如下:

function make_var($val)

{

if (strrpos($val, '.') === false)

{

if (isset($this->_var[$val]) && isset($this->_patchstack[$val]))

{

$val = $this->_patchstack[$val];

}

$p = '$this->_var['' . $val . '']';

}

else

{

$t = explode('.', $val);

$_var_name = array_shift($t);

if (isset($this->_var[$_var_name]) && isset($this->_patchstack[$_var_name]))

{

$_var_name = $this->_patchstack[$_var_name];

}

if ($_var_name == 'smarty')

{

if($t[0] == 'const'){

return strtoupper($t[1]);

}

$p = $this->_compile_smarty_ref($t);

}

else

{

$p = '$this->_var['' . $_var_name . '']';

}

foreach ($t AS $val)

{

$p.= '['' . $val . '']';

}

}

return $p;

}

其中21-23行是新加的,这让就可在模板文件中通过 {$smarty.const.常量}来引用php中定义的常量了

复制代码 代码如下:

21 if($t[0] == 'const'){

22 return strtoupper($t[1]);

23 }

【使ecshop模板中可引用常量的实现方法】相关文章:

PHP正则验证Email的方法

风格模板初级不完全修改教程

php使用for语句输出三角形的方法

PHP准确取得服务器IP地址的方法

php输出全球各个时区列表的方法

php简单实现多字节字符串翻转的方法

php查询whois信息的方法

JavaScript实现滚动栏效果的方法

PHP date函数常用时间处理方法

php函数重载的替代方法

精品推荐
分类导航