让ecshop模板支持php运算

在 cls_template.php 底部加入函数:

[code lang=”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;
[/code]

前台模板调用:

{math equation=”$key+1″}

这里注意用双引号。