建站学习网,专业提供各类建站教程,网页素材,SEO资讯等建站资源!

网站模板_网站源码_网站素材_建站教程_建站学习网

当前位置:建站学习网 > 织梦教程 > 织梦技巧 >

织梦cms万能标签{dede:php}{dede:sql}调用方法

更新时间:2016-12-01整理编辑:建站学习网阅读:0
  织梦dedecms里面有两个标签还是比较灵活的,也被称为“万能标签“,一个是{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]这个里面的相关内容

  二、{dede:php}模板中使用PHP

  许多人希望织梦的模板标签能够更加灵活,加入可以运行PHP的功能,这里在DedeCMS 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/}

本文网址:https://www.dedexuexi.com/dedejiaocheng/zmjq/1248.html

本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。

标签:标签
收藏此文 赞一下!() 打赏本站

如本文对您有帮助,就请建站学习网抽根烟吧!

支付宝打赏
微信打赏
织梦dedecms模板内容页实现数组列表信息显示
« 上一篇2016年11月29日
织梦dedecms判断当前页面是否为首页设置高亮
2016年11月29日下一篇 »
  • 迅睿CMS根据栏目id来调用栏目信息
    0阅读
    迅睿CMS如何根据栏目id来调用栏目信息?独立模块栏目函数:dr_cat_value("模块目录", 栏目ID, "输出字段")共享模块栏目函数://写法1dr_share_cat_value(栏目ID, "输出字段")//写法2{category module=share id=1}{$t.url...
  • 迅睿CMS判断语句if写法
    0阅读
    格式一{if$模板变量运算符$模板变量} 模板内容{/if}{if$aaa!=$bbb}表示前面变量值不等于后面值{/if}格式二{if$模板变量1运算符$模板变量} 模板内容1{else} 模板内容2{/if}{if$aaa!=$bbb}表示前面变量值不等于后面值{else}表示反之状态,也就是相...
  • 织梦系统怎么根据IP获取当地的天气预报
    0阅读
  • 织梦DedeCMS手机端文章内容图片设置自适应屏幕的方法
    0阅读
    织梦dedecms默认的文章内容里面的图片是固定大小的,这样在手机端里面就可能会导致图片不能完整显示,甚至把屏幕撑开,这样非常不友好,所以这里就给大家分享一个方法,让手机端的文章内容里面的图片能够自适应图片大小。 方法如下: 找到并打开手机端的文章内容页模板,将里面的{dede:field.body...
  • 织梦系统中怎么查看站长日志(蜘蛛的爬行痕迹) 网站后台日志
    0阅读
    织梦系统中怎么查看站长日志(蜘蛛的爬行痕迹) 一般空间都会独立出来一个文件夹命名为log这里就是放日志的地方 站长日志,我都在到服务器上面下载的。 织梦系统中怎么查看站长日志(蜘蛛的爬行痕迹):一般空间都会独立出来一个文件夹命名为log这里就是放日志的地方 织梦的模板怎么看网站日志:楼主可能是新手吧...
 
QQ在线咨询