如何在DedeCms 标记中运行PHP

softyun3年前cms教程214

教大家如何在织梦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; 

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

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

相关文章

删除文章时删除缩图和内容中大图

打开dede/inc/inc_batchup.php找到"//删除数据库的内容"在这前面加上 //删除缩略图 if($arcRow['litpic']!=""){ $dsql->Execut...

【Pagelist 标记使用实例】-DedeCMS模板制作使用实例教程(12)

    【Pagelist 标记】表示分页页码列表     适用范围:列表模板       通过调试了解其使用方法   我调试的方法是:   将templets\default\文件夹下的list_d...

DedeCms织梦网站程序动态化+静态化+伪静态设置教程(详细图文)

如何让织梦DEDE做的网站实现快速动态化或静态化的切换如何快速在本地环境中将DEDE全站程序动态化 DEDE,本文分三个部分 DEDE程序动态化+DEDE程序静态化+DEDE程序伪静态进行全面介绍,希...

教你怎样去掉dede下载地址中的li标签

 在用dede做模板的时候时常会遇到模板中要求在列表页中调用下载地址 但在下载地址中会带有li这个标签 很让人心烦 下面是解决方法 。templets\system下的channel_downlink...

DedeCMS Error:Tag disabled:php错误的完整处理方法

网站提示DedeCMS Error:Tag disabled:"php" more...! 在最新的dedecms5.7版本与7月15号的补丁里,官方增加了模板引擎禁用的全局设置,用于控制哪些模板标签...

[经验]dede全站RSS订阅静态输出的办法

给大家分享一下实现DedeCMS Rss全站静态输出的方法,大家可以去尝试一下。一、在CMS根目录下,新增rss.php文件,文件代码如下:PHP代码      <?php     requir...