如何在DedeCms 标记中运行PHP

softyun3年前cms教程75

教大家如何在织梦DedeCms 标记中运行PHP :

打开 
pub_dedetag.php 
找到 
function AssignSysTag() 
在 
for函数结束的地方,即是在 
CODE:  
这个地方 

// 
//把分析模板输出到一个字符串中,并返回 
// 
function GetResult() 
[Copy to clipboard]  
—————————–
改为如下代码
———————————

CODE:  
//运行PHP接口 
if( $CTag->GetAtt("runphp") == "yes" ) 

$DedeMeValue = ""; 
if($CTag->GetAtt("source")==’value’) 
{ $runphp = $this->CTags[$i]->TagValue; } 
else{ 
$DedeMeValue = $this->CTags[$i]->TagValue; 
$runphp = $CTag->GetInnerText(); 

$runphp = str_replace(‘@me’,’$DedeMeValue’,$runphp); 
eval($runphp); 
$this->CTags[$i]->IsReplace = TRUE; 
$this->CTags[$i]->TagValue = $DedeMeValue; 


// 
//把分析模板输出到一个字符串中,并返回 
// 
function GetResult() 
[Copy to clipboard]  
////////////////////////////////////////////
这样只要在dedecms的标记中加上 runphp=’yes’ 就可以运行PHP语句了
用@me表示当前标记的值,$DedeMeValue表示最终返回值,里面为纯PHP代码,不能用<? ?>与THML混合
PHP代码放置方式一:
{dede:name runphp=’yes’}
这里写PHP代码
{/dede:name}
方式二:
假如你想在include的文件中使用PHP,则加上 source=’value’
{dede:include runphp=’yes’ source=’value’ file=”/}
PHP编写的规范为:
一、PHP编码中不需要再加<??>符号;
二、假如想处理当前标记的值 上面第一种情况,使用 @me 表示当前的值;
三、假如直接引入PHP并要获得运行后的值,必须用 $DedeMeValue 表示运行这个PHP后最终返回的值 因此不能用HTML混合的写法。
例如:

{dede:field runphp=’yes’} 
$aaa=200; 
$DedeMeValue=100; 
$DedeMeValue = $aaa; 

仅供大家学习参考,希望对你有所帮助。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

织梦dedecms友情链接flink标签的使用说明

下面是织梦dedecms友情链接flink标签的使用说明,希望能给大家带来一些帮助。标签名称:flink标记简介:功能说明:用于获取友情链接适用范围:全局使用基本语法:{dede:flink row=...

教你删除DEDECMS中出错的文章

有时候大家在添加文章的时候没添加成功 显示什么将错误报告给dede  据我发现好像文章已经被录到dede_full_search这个表里面了  在后台文章管理里面看不见  但是全站搜索的时候又能搜索出...

使用phpstudy时dedecms后台页面空白解决方法(PHP版本原因)

分享一下使用phpstudy时dedecms后台页面空白的解决办法 PHP版本原因今天把电脑上的phpStudy升级到2013版。在登录本地织梦dedecms5.7时,/dede/login.php居...

更改data目录名称也可让dedecms更安全

现在最新的5.7版本和5.7SP1版本后台都有个安全检测,data目录如果使用默认的名称,那么系统的安全肯定会大打折扣。大家一定看到过这样的提示:强烈建议将data目录搬移到Web根目录以外;查看如何...

data目录如果使用默认的名称给DEDE系统安全的隐患

data目录如果使用默认的名称给DEDE系统安全的隐患现在织梦DEDECMS网站建设,网络公司做网站的站长用的非常的多。最新的5.7版本和5.7SP1版本后台都有个安全检测,data目录如果使用默认的...

Dedecms新手学习路线,强烈推荐!

DedeCMS不用多介绍了,这里的新手,指的是不了解DedeCMS的新人朋友。     关于学习路线,个人来说只是一个很模糊的方向,不能定位到每一步内容的学习,这里我先对各种新人进行一个简单的分析,然...