ecshop模板不支持引入PHP语句的解决方法 ecshop教程 - ecshop - 爱建站

,,cms教程,ecshop教程,,

SEO SEO

首页  >   ecshop > ecshop模板不支持引入PHP语句的解决方法 ecshop教程   >  正文

 

ECSHOP二次开发中有时为了开发的方便,会把一些PHP的程序直接加入到模板文件中去,以便于快捷调试,官方考虑到安全问题,特别将模板中引入的PHP程序进入过滤处理,导致PHP这种快捷调试无法继续往下进行,那么如何来处理这个问题呢,请继续往下读


ECSHOP二次开发中有时为了开发的方便,会把一些PHP的程序直接加入到模板文件中去,以便于快捷调试,官方考虑到安全问题,特别将模板中引入的PHP程序进入过滤处理,导致PHP这种快捷调试无法继续往下进行,那么如何来处理这个问题呢,请继续往下读。

首页找到includes目录下的cls_template.php程序文件,并打开,查找约293行function fetch_str($source)函数方法,找到如下代码:

 

$source = str_replace($sp_match[1][$curr_sp],"%%%SMARTYSP".$curr_sp."%%%",$source);  

替换为下面一段代码,不需要替换处理可直接删除或在前面加上//注释掉。

 

//$source = str_replace($sp_match[1][$curr_sp],"%%%SMARTYSP".$curr_sp."%%%",$source);  

这里还可以使用另外一种方法,考虑到安全因素,不极力推荐使用,找到下面一段代码:

 

        if(preg_match_all("~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\"]?php[\"\"]?)~is", $source, $sp_match))  

        {  

            $sp_match[1] = array_unique($sp_match[1]);  

            for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)  

            {  

                $source = str_replace($sp_match[1][$curr_sp],"%%%SMARTYSP".$curr_sp."%%%",$source);  

            }  

             for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)  

            {  

                 $source= str_replace("%%%SMARTYSP".$curr_sp."%%%", "<?php echo \"".str_replace(""", "\"", $sp_match[1] 

 

[$curr_sp])."\"; ?>"."\n", $source);  

            }  

         }  

删除即可,最后后台清除缓存,使用最简单一的句代码加入到模板页内来测试下输出:

复制内容到剪贴板折叠XML/HTML 代码

<?php  

echo "test...."  

?> 

温馨提示:你正在使用ecshop系统建站吗?那来的 ecshop 频道看看吧,我们制作了很多模板供大家下载哦!


ecshop模板不支持引入PHP语句的解决方法 ecshop教程
http://www.yuedudg.cn/article/1169101.html

 

友情链接
ecshop经验网 cms综合网 wp之家
phpcms之家 discuz经验网 帝国cms常识
zblog之家 织梦之家


Tags: cms教程 ecshop教程


手机浏览本文

ecshop模板不支持引入PHP语句的解决方法  ecshop教程

ecshop模板不支持引入PHP语句的解决方法 ecshop教程

站内推荐

网站分类

标签列表

关于我们
文章内容来源互联网仅供参考,如果还有疑问请联系我们!我们将竭力帮您解决您的问题
联系我们:

QQ: 397423577 

email:397423577@qq.com

微信:ganenboy