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]这个里面的相关内容

模板中使用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/}     文章写得很不错,写在这里一是方便自己查看,而是分享给和我有同样困惑的人。希望能帮助同学们。

php中dede,dedecms中的{dede:php}{/dede:php}的详细用法相关推荐

  1. Vue中v-bind,v-on,v-model都是干什么的(区别以及详细用法)?自制动图,一看就懂 ∠( °ω°)/ 前端知识

    文章目录 区别 详细用法 属性绑定(`v-bind:`或`:`) 单值绑定 多值绑定 绑定style 事件绑定(`v-on`或`@`) 传入event 双向绑定(`v-model`) 双向绑定原理 元 ...

  2. excel或者wps怎么样将一个表的某列查找到另外一个表的对应列,excel或WPS根据身份证号或手机号在另一个表中自动查找填充完善信息。VLOOKUP函数最详细用法解读。

    最近因为疫情,被派去支援数据处理,特分享一个excel/wps的使用小技巧. 需求如下: 表1为接种人员名单,缺少姓名等信息,只有一个身份证号码(此处为避免隐私泄露,将身份证号码加了星号).表2为居民 ...

  3. 模板上 php dede,DEDE模板中使用php和if判断语句实例

    这篇文章主要为大家详细介绍了DEDE模板中使用php和if判断语句实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 今天刚刚在给用户用织梦CMS二次开发站点的 ...

  4. dede - 栏目中判断

    1.在一级标题中判断 <ul class="social">{dede:channelartlist typeid='50,55,31' row='8' }<li ...

  5. 织梦 m list.php tid,在织梦标签dede:list中增加noflag属性的方法支持5.7版本

    修改include/arc.listview.class.php,以下是修改后的文件 代码如下: require_once(DEDEINC.'/arc.partview.class.php'); re ...

  6. dedecms使用php语法,dedecms中使用php语句指南,dedecmsphp语句指南_PHP教程

    dedecms中使用php语句指南,dedecmsphp语句指南 在DEDECMS中,使用php语句的话,本身是有{dede:php}标签可以使用的,最简单的输入如 复制代码 代码如下: {dede: ...

  7. 织梦直接写php标签,怎么在自己的php页面中使用dedecms标签

    怎么在自己的php页面中使用dedecms标签? 这篇文章主要介绍了在自己的php页面中使用dedecms标签的代码示例,需要的朋友可以参考下 推荐学习:织梦cms 第一步:外部php页面中加入如下代 ...

  8. php显示前60个字,DEDECMS中怎么让文章标题栏突破60个字符

    DEDECMS中怎么让文章标题栏突破60个字符? 1.使用PHPMYADMIN 修改 MYSQL数据结构 CODE: ALTER TABLE `dede_archives` CHANGE `title ...

  9. 织梦html2text( me),织梦dedecms中function='Html2Text(@me)的使用方法

    本文主要通过实例为大家讲解织梦dedecms中首页.列表页及内容页通过 function='Html2Text(@me) 过滤html代码调用纯文本的方法 示例1: 调用文章body中内容,过滤htm ...

最新文章

  1. OOP 面向对象 七大原则 (一)
  2. 右边菜单_Excel – 如何始终显示下拉菜单右边的小箭头?
  3. 职场宝典:63种能力让你职场步步高升
  4. PyTorch 1.10正式版上线了!附相关资源
  5. 栈的应用-四则运算表达式
  6. ABP vNext微服务架构详细教程——身份管理服务
  7. 获取当天日期、昨天日期
  8. linux 查看ip_如何在 Linux 中查看可用的网络接口 | Linux 中国
  9. Ubuntu16.04安装QQ机器人
  10. protobuf 安装_Beego 安装时 一直无响应(443)怎么办
  11. 解决shell脚本“syntax error near unexpected token `fi‘”的问题。
  12. Java-基础---继承,方法重写,super关键字
  13. React context 丢失问题
  14. bp神经网络误差反向传播,bp神经网络结果不一样
  15. 全新自适应地址发布页HTML源码【手机端】【pc端】
  16. 信奥赛1990:【19CSPS提高组】划分
  17. 数据分析案例1.0——药品销售分析
  18. 山西民生云认证工资_山西民生云养老资格认证手机版-山西民生云社会保险综合服务平台v2.2 最新版-007游戏网...
  19. Pandoc中使用Reveal-js制作幻灯片
  20. Error response from daemon: Container 17ae3dc98507daca0267a8673295ede4cf2d5d5... is not running

热门文章

  1. Linux DHCP服务器配置实验
  2. sg90型360度舵机的控制方法
  3. 一辈子受用的人生格言 超励志!
  4. js requestFullscreen实现全屏功能 浏览器兼容问题解决
  5. android 动画结束停留,android中Animation动画的连续播放与播放完毕后停留在最后的状态...
  6. Wireshark常用命令
  7. 一句话理解FPGA,VHDL,EDA到底有什么区别
  8. 树莓派入门(一)之树莓派简介
  9. Segmentfault 内容精选 - 2017 年第 30 周
  10. 2021不多BB不走弯路,我认为我这份Java学习路线是适合绝大多数人的