织梦模板内加入php代码的方法


avatar
pcwnas 2023-04-21 255

原文来自:https://www.zixuephp.com

织梦模板支持php代码,虽然不能完全像写php页面那样,但是基本的东西还是够了。

一、模板页面内嵌入php

例如:

{dede:namerunphp='yes'}
$str="hello";
@me=$str;
@me.="world"
{/dede:name}

最终输出结果为hello world

其实"name"为任意定义的名字,"@me="后面的值是最终用于输出的值,我就拿它代替echo来用(如果直接用echo,模板生成的时候报错,这就是有所限制的地方,唉)。

二、引用php文件

如果你想在include的文件中使用PHP,则加上 source='value'

{dede:includerunphp='yes'source='value'file=''/}

PHP编写的规范为:

一、PHP编码中不需要再加<??>符号;

二、如果想处理当前标记的值(上面第一种情况),使用 @me 表示当前的值;

三、如果直接引入PHP并要获得运行后的值,必须用 $DedeMeValue 表示运行这个PHP后最终返回的值(因此不能用HTML混合的写法)。

例如:

{dede:fieldrunphp='yes'}
$aaa=200;
$DedeMeValue=100;
$DedeMeValue+=$aaa;
{/dede:field}
等同于:
{dede:fieldrunphp='yes'}
$aaa=200;
@me=100;
@me+=$aaa;;
{/dede:field}

最终返回结果是: 300

如:

{dede:listperpage='10'}
[field:idrunphp="yes"]
$dsql=newDedeSql(false);
$a="selecta.addressFROMxudaoshan_addonarticleasawherea.aid=@me";
$arcRow=$dsql->GetOne($a);
@me=''.$arcRow[address].'';
[/field:id]
{/dede:list}