"景先生毕设|www.jxszl.com

如何茬DedeCms 标记中运行PHP

2022-10-29 16:23编辑: www.jxszl.com景先生毕设
如何在织梦DedeCms标记中运行PHP:

打开
pub_dedetag.php
找到
functionAssignSysTag()

for函数结束的地方,即是在
CODE:
这个地方
}
//
/

 更多精彩就在: 51免费论文网|www.jxszl.com 
/把分析模板输出到I.个字符串中,并返回
//
functionGetResult()
[Copytoclipboard]
_____–
改为如下代码
______
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;
}
}
//
//把分析模板输出到I.个字符串中,并返回
//
functionGetResult()
[Copytoclipboard]
////////////////////////////////////////////
这样只要在dedecms的标记中加上runphp=’yes’就可以运行PHP语句了
(用@me表示当前标记的值,$DedeMeValue表示最终返回值,里面为纯PHP代码,不能用与THML混合)
PHP代码放置方式I.:
{dede:namerunphp=’yes’}
这里写PHP代码
{/dede:name}
方式II:
假如你想在include的文件中使用PHP,则加上source=’value’
{dede:includerunphp=’yes’source=’value’file="/}
PHP编写的规范为:
I..PHP编码中不需要再加符号;
II.假如想处理当前标记的值(上面第I.种情况),使用@me表示当前的值;
III.假如直接引入PHP并要获得运行后的值,必须用$DedeMeValue表示运行这个PHP后最终返回的值(因此不能用HTML混合的写法).
例如:
{dede:fieldrunphp=’yes’}
$aaa=II00;
$DedeMeValue=I.00;
$DedeMeValue=$aaa;


原文链接:http://www.jxszl.com/biancheng/dedecms/74640.html