免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
讓ecshop的smarty支持?jǐn)?shù)學(xué)運(yùn)算.
2013-11-09 13:34:25
標(biāo)簽:smartyecshop數(shù)學(xué)運(yùn)算
在ecshop的使用中,smarty可以很方便的做成網(wǎng)頁(yè)。但ecshop的smarty把一些功能去掉了,只保留了邏輯運(yùn)算、變量處理
等功能,連數(shù)學(xué)計(jì)算都不支持。我們想要在smarty模板中對(duì)一個(gè)變量進(jìn)行動(dòng)態(tài)的計(jì)算,就沒有辦法。
研究了一個(gè)晚上,終于可以讓ecshop的smarty模板支持簡(jiǎn)單的數(shù)學(xué)計(jì)算了。
在ecshop的smarty模板中,對(duì)變量處理如下:
{$foo+ 1}
那么生成的后臺(tái)代碼是這樣的:
<?php echo$this->_var['foo+1'] ; ?>
它將$號(hào)后面的全部作為變量名了。
我們要的效果,
模板中是這樣:
{math equation="$foo + 1"}
在后臺(tái)生成這樣的代碼:
<?php echo$this->_var['foo] + 1; ?>
這里需要對(duì)cls_template文件進(jìn)行修改,讓其支持math標(biāo)簽。
在select 方法中增加一個(gè)case:
1
2
3
4
case'math':
$t= $this->get_math_para(substr($tag, 8));
return'<?php echo '. $t. '; ?>';
break;
增加一個(gè)方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* 處理math中的公式.
* */
functionget_math_para($val){
$pa= $this->str_trim($val);
foreach($paAS $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($arras$match) {
$v= $this->get_val(substr($match, 1));
$b= str_replace($match, $v, $b);
}
}
}
}
}
return$b;
}
這樣就可以了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ecshop的smarty引擎標(biāo)簽foreach詳細(xì)介紹
在PHP模板引擎smarty生成隨機(jī)數(shù)的方法和math函數(shù)詳解
ECSHOP模板修改13問
ecshop調(diào)用指定ID分類下的文章列表(指定分類下的文章)
ECshop 模板制作教程— EC 新手入門模板教程
PHP之Smarty模板引擎
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服