目前位置: 首頁 > ecshop 維護 > 如何讓ECSHOP模板執行PHP

如何讓ECSHOP模板執行PHP 超大 稍大 微大

Ecshop網路購物 HongCMS雙語企業網站::繁體中文全支援-原來如此 發表於: 2013-02-04 最後更新: 現在時間:2020-05-31 21:43:42
20121106的補釘限制了ECSHOP模板執行PHP
這樣做有點因噎廢食
smarty模板引擎本來就可以執行PHP
ECSHOP卻為了不讓駭客入侵後將程式碼植入模板中
而限制了這麼方便的功能
如此治標不治本的方法真讓人頭大

在打補釘時需要注意
如果你的模板中有使用PHP語法
打補釘時不要動到 cls_template.php
否則模板中所有PHP功能都會失效
輕微的會出現錯誤訊息
嚴重的會導致整個網站無法運作

ECSHOP模板中很多進階功能需要PHP來達成
若要修改PHP檔案日後將造成升級困擾
因此只能以最少的修改方式
配合插件的方式來完成
舉例來說:
很多模板都會用 themes/'.$GLOBALS['_CFG']['template'] 來取得模板路徑
補釘之後會變成空的因此有些檔案會找不到
你可以在 includes/init.php 最後加上 @include(ROOT_PATH . 'plugins/freecolor.php');

然後在 plugins 資料夾內新增 freecolor.php 內容為
<?
$themes_path= 'themes/'.$GLOBALS['_CFG']['template'].'/';
$GLOBALS['smarty']->assign('template_dir', $template_dir);
?>
這樣就可以在模板中使用 {$template_dir} 取得模板路徑
模板中用到的PHP程式可以放在此檔內
日後若有升級只需重新在 includes/init.php 最後加上
@include(ROOT_PATH . 'plugins/freecolor.php'); 即可
freecolor 可以自行更改名稱
如果你是VIP,請至VIP室下載

本站提供ECSHOP技術支援, 是網路開店最佳選擇 ,最後更新時間: 現在時間:2020-05-31 21:43:42