让ecshop模板支持php运算

2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家

让ecshop模板支持php运算在 cls_template.php 底部加入函数:

/**
* 处理math中的公式.

* */

function get_math_para($val){

$pa= $this->str_trim($val);

foreach($pa AS $value)

{

if(strrpos($value, '='))

{

list($a, $b) = explode('=', str_replace(array(' ', '"', "'", '"'), '', $value));

if(strpos($b, '$') >= 0)

{

//$b为类似的1+2,$abc*123等

$pattern= "/\\$[_a-zA-z]+[a-zA-Z0-9_]*/";

preg_match($pattern, $b,$arr);

if($arr) {

foreach($arr as $match) {

$v= $this->get_val(substr($match, 1));

$b= str_replace($match, $v, $b);

}

}

}

}

}

return$b;

}

[/code]

在大概530行处加入:
[code lang="php"]
case 'math':

$t= $this->get_math_para(substr($tag, 8));

return'<?php echo '. $t. '; ?>';

break;


前台模板调用:

{math equation="$key+1"}

这里注意用双引号。(责任编辑:chinab4c)