如何在DedeCms 标记中运行PHP

softyun3年前cms教程136

教大家如何在织梦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网站数据快速迁移、数据库备份和还原

近日要帮客户实现网站改版,又要用到数据库的备份和还原。我发现一些用户对数据库备份和还原并不熟悉,所以结合本次案例做一次完整的笔记,希望对大家有用。 一般的用户会安装PHPmyadmin或者帝国还原工具...

dedecms 2007 默认幻灯片显示标题

var focus_width=280;var focus_height=220;var text_height=0;  给文字设置一个高度就可以了 一般设置为var text_height=20;...

织梦DedeCMS模板及系统程序编码转换的方法

给大家分享一下织梦DedeCMS模板及系统程序编码转换的方法,希望可以帮助到你我们用织梦dedecms建站的朋友经常会遇到编码转换的问题,比如我们购买了模板但是模板编码与现在的程序编码不符,导致出现乱...

DedeCms教程:DedeCMS中MySQL修复表的两个小技巧

 涉及数据库操作请先备份,以防万一。DedeCMS用户经常碰到数据表出现报错“dede_search_keywords' is marked as crashed and should be repa...

dedecms快速批量删除TAG标签

dedecms怎样批量删除TAG标签呢下面是操作方法,希望对你有所帮助。在织梦dedecms的后台的核心—批量维护—TAG标签管理里我们可以删除TAG标签,但是这样如果我们的TAG标签很多的时候,这样...

DEDE的SEO技巧-栏目列表页的优化

栏目列表页的SEO: 1.增加新字段方法 进入后台 系统管理 SQL命令行运行器 多行命令 执行如下语句:ALTER TABLE `dede_arctype` ADD `typetitle` VARC...