手机
当前位置:查字典教程网 >编程开发 >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获取数组的键与值方法小结

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

php实现TCP端口检测的方法

MVC模式的PHP实现

PHP+shell实现多线程的方法

php查询whois信息的方法

smarty模板判断数组为空的方法

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

VFP与其他应用程序的集成

php比较相似字符串的方法

精品推荐
分类导航