Feb
05
2016
让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; }
在大概530行处加入:
case 'math': $t= $this->get_math_para(substr($tag, 8)); return'<?php echo '. $t. '; ?>'; break;
前台模板调用:
{math equation=”$key+1″}
这里注意用双引号。
最活跃的读者