织梦cms php中使用标签,织梦CMS中的{dede:php}{/dede:php}的详细使用方法

织梦CMS里面有两个标签还是比较灵活的,一个是{dede:php}{/dede:php}另外一个是{dede:sql}标签,{dede:php}标签注释要用来在模板中写php代码的,{dede:sql}主如果用来调用sql用的,下面就来介绍下这两个标签到底该怎么用。该文章是转自百度空间的一篇文章。

{dede:sql}标签的使用方法

sql标签可以称得上是个万能标签了,在线查询数据库将其输出,这里介绍一些关于这个标签的使用方法:

1.用来输出统计内容,这个是很好的,举例,大家来统计下总共发了多少的文章,思路就是输出dede_addonarticle这个文章附加表内容总数就好了。

{dede:sql sql="SELECT COUNT(*) AS nums FROM dede_addonarticle"}

[field:name = "nums"/]

{/dede:sql}

2.用~field~来进行特殊的在线查询,比方说之前论坛上面非常多会员需要做一个输出当今发布文章会员的有关内容,之前用sql或者arclist标签是无法达成的,由于每篇内容是不一样的,这里大家来用5.5的sql语句来做个示范。

大家第一在文章模板中相应的地方加上下面的标签

{dede:sql sql="SELECT * FROM dede_archives WHERE writer=~writer~"}

[field:id/],

{/dede:sql}

这个放到article_article.htm页面,将会检索出当今会员发布的有关文章,这里的~ writer~会依据当今内容的环境变量进行替换后再实行在线查询。

这里出目前SQL语句中条件在线查询的~ writer~,也就是$refObj->Fields[$value]这个里面的有关内容

模板中用PHP

很多人期望DEDE的模板标签可以愈加灵活,加入可以运行PHP的功能,这里在织梦CMS V5.5中就加入了一个可以实行php的特殊标签{dede:php}{/dede:php},这个标签可以实行PHP语句了。

我这里举几个常见的例子:

1.最容易的输出内容:

{dede:php}

$numA = 1;

$numB = 2;

echo $numA + $numB;{/dede:php}在 {dede:php}里想要输出信息 可以直接用print , echo 之类的打印出来 赋值给@me 无效这个输出的内容是计算结果:

3

2.结合SQL在线查询输出单条内容

{dede:php}

$row = $dsql->GetOne('select id,typename from dede_arctype where id=2');

print_r($row);

{/dede:php}

这个输出的内容是

Array

(

[id] => 2

[typename] => 问答

)

3.获得当今页面的变量

比方说大家这里进入系统后台的[模板]-[全局标记检测],大家在代码中填入下面的内容:

{dede:php}

print_r($refObj->Fields);{/dede:php}在PHP中想要获得dede某个字段值 可以用 $refObj->Fields 对象来获得 列入获得 title => $refObj->Fields['title']假如环境变量维持默认,即"不用环境ID",大家会看到以下的结果:

Array

(

[typeid] => 0

[phpurl] => /plus

[indexurl] => /

[templeturl] => /templets

[memberurl] => /member

[specurl] => /special

[indexname] => 主页

[templetdef] => /templets/default

)

那大家再换个环境变量检测看看,这里以我当地的栏目为检测了:

Array

(

[id] => 3

[reid] => 0

[TOPid] => 0

[sortrank] => 1

[typename] => 商品

[typedir] => {cmspath}/product

… …

[indexname] => 主页

[templetdef] => /templets/default

[position] => 主页 > 商品 >

[title] => 商品

)

如此一来就检索出当今页面的局部变量了,下面大家可以来结合前面的SQL语句来达成依据不一样环境ID调用内容不一样栏目内容。

例如:

{dede:php}

$thisid = $refObj->Fields['id'];

$row = $dsql->GetOne('select id,typename from dede_arctype where id='.$thisid);

print_r($row);

{/dede:php}

如此是来调用当今栏目的标题,这个标签功能类似于{dede:field.typename/}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值