如何在DedeCms 标记中运行PHP

softyun3年前cms教程140

教大家如何在织梦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软件频道简单防盗链

dede做软件站有的缺点就是别人转帖你的下载的时候直接转帖xxx/plus/download.php.........就是直接打开下载地址列表页这种就可以下载了,耗费资源却又带不了用户。经过研究,终于...

DedeCMS的自定义表单增加"全选/全不选"的功能按钮

教大家一下如何在DedeCMS的自定义表单增加“全选/全不选”的功能按钮我们先看看效果图:织梦自定义表单没有批量选择的功能,给我们管理带来很大不便,如果需要加上“全选/全不选”的功能,步骤如下: 从/...

织梦DedeCms附件按月份保存的修改方法

给大家教一下织梦DedeCms附件按月份保存的修改方法,希望对你有帮助正常情况下,dedecms织梦系统的图片附件是按日保存的,一天一个文件夹, 时间长了, 这样在allimg中就会生成很多文件夹,...

织梦dedecms系统修改后台自定义表单列表为横排显示的办法

今天教大家如何实现在织梦dedecms系统修改后台自定义表单列表为横排显示的办法dede织梦系统自定义表单提交内容后,在后台显示的方式比较别扭,我们都习惯横排显示,这里介绍怎么修改成横排显示。 1、找...

织梦dedecms在php5.4下后台发布文章提示“标题不能为空”

有时我们在登录后台发布文章时,会提示“标题不能为空”,一直发不了文章,下面就给出解决的办法:问题症状:V5.7登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”。问题根源:htmlspec...

DEDECMS 隔行换色以及分组加线

打开:inc_channel_unit_functions.php加入下面一段//zouql//$f 列表总数//$t 每组列表数function MyList($f,$t,$meid,$con){i...