如何在DedeCms 标记中运行PHP

softyun3年前cms教程45

教大家如何在织梦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 V5.3 常用问题手册发布

DedeCMS V5.3 常用问题手册发布总共分为概念篇、安装篇、升级篇、整合篇、使用篇、销售篇、其他类几个部分,每个部分选了用户常见的一些使用问题,将其打包为CHM文件,提供大家下载阅读,并且手册会...

dedecms教程:如何调用全站评论总数

调用织梦全站评论总数其实很简单,比如用DedeCMS搭建博客类型的网站就可以用该方法调用评论总数,本文给大家介绍一个简单的方法,使用JS调用评论,而且可以使用到DEDECMS中的任何地方! 第一步:首...

DedeCms 万能安全防护代码

为了让大家的CMS更安全,有需要的手工在config_base.php里加上打开config_base.php 找到//禁止用户提交某些特殊变量$ckvs = Array('_GET','_POST'...

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

【Pagebreak 标记】表示文档的分页链接列表。适用范围:仅文档模板。   通过调试了解其使用方法   我调试的方法是:   将templets\default\文件夹下的list_default...

Dedecms通过sql命令清楚网站以及重置文章ID排序的办法

给大家分享一些Dedecms通过sql命令清除网站以及重置文章ID排序的方法,简单有效,希望对你有所帮助我之前在织梦Dedecms防止恶意注册及快速批量删除垃圾会员及文章的方法中有提到过批量删除垃圾会...

织梦DEDECMS{dede:freelist/}列表调用增加排序方式

织梦DEDECMS{dede:freelist/}列表调用增加排序方式当你用到自由列表的时候,会发现排序方式不全。比如我所需要用到 随机排序”rank“和按得分排序”scores“这里就没有。当然这两...