zoukankan      html  css  js  c++  java
  • DEDECMS万能标签{dede:sql}使用教程详解

    http://www.dede58.com/a/dedebq/2015/0226/1737.html

    1.首页在后台单页文档管理里添加一个单页文档,内容编辑框输入你要的内容生成。
    2.在需要调用单页文档的地方加入SQL万用标签
    { dede :sql sql=select body from dede_sgpage where aid=2}[field:body /]{/dede:sql}
    相信熟悉SQL语言的朋友很容易看懂这句含义。意思其实就是选择数据表dede_sgpage 的body字段输入,aid=2这里的2表示你创建单页文档ID数字,你使用时做下相应修改即可。
    又如这句SQL标签样例代码
    {dede:sql sql="select content from dede_arctype where id=2"}
    [field:content function=cn_substr(Html2Text(@me),600)/]
    {/dede:sql}
    根据上面的例子,应该很好理解了,这里主要说明一下cn_substr表示截取600个字符也就是300个汉字。Html2Text代表把含有HTML的字符过滤掉,只显示文本。
    其实除了上面的例子外,在Dede系统里面,我可以可以自由使用SQL语句来配和织梦标签进行更多的个性化调用。他们的基本参照格式为:
    {dede:sql sql="select 字段 From 表名称 where 条件语句"}
    [field:字段名/]
    {/dede:sql}
    由上面这种基本格式,我们就可以基本转换出一条调用文档列表的调用标签了,代码为:
    {dede:sql sql="select * From dede_archives limit 10"}
    ·[field:title/]
     
    {/dede:sql}
     
    大家看到了上面的文档链接的底层模板地址的是动态的,那么我们要怎么样来进行转换,让他链接到静态地址呢,这里我们只需要对[field:id/]进行一下转换,转换后的完整代码为:
    {dede:sql sql="SELECT * FROM dede_archives limit 10"}
    ·[field:title function=cn_substr(@me,30,0)/]
     
    {/dede:sql}
    标签名称:sql 功能说明:用于从模板中用一个SQL查询获得其返回内容适用范围,全局使用
    基本语法:{dede:sql sql=""}底层模板{/dede:sql}
    参数说明:sql="" 完整的SQL查询语句
    底层模板字段:SQL语句中查出的所有字段都可以用[field:字段名/]来调用
    应用实例:
    1.调用某个特定会员发布的文章内容:
    {dede:sql sql='Select * from dede_archives where mid=1'}
    [field:title/]
    {/dede:sql}
    mid为用户ID ,可以参考二次开发中关于dede_archives的数据表字段介绍
     
    首页调用文章正文内容,比较好的解决方法:
    方法一:
     
    {dede:sql sql="SELECT aid,typeid,body,body1,body2,body3,body4,body5 FROM `dede_addonarticle` where typeid=2 ORDER BY `aid` DESC LIMIT 0,1"}
    [field:body /] [field:body1 /] [field:body2 /] [field:body3 /] [field:body4 /] [field:body5 /]
    {/dede:sql}
     
    方法二:
     
    {dede:sql sql="SELECT aid,typeid,body FROM `dede_addonarticle` where typeid=2 ORDER BY `aid` DESC LIMIT 0,1"}
    [field:body /]
    {/dede:sql}
    调用说明:
    其中typeid=2,栏目ID号,表示调用此ID栏目内的文章,换成 aid=1 则表示调用的 aid 为 1 的文章,
    DESC 表示排序,按从大到小排,换成 ASC 则按从小到大排序,
    LIMIT 0,1 表示调用数量,也可以写成数量LIMIT 1,这个1代表调用的数量。
    ===============================================
    SQL语句分为两类,功能型的和内容调用型,功能型的主要是对数据库进行常规的操作,例如{insert、update},数据调用型的操作就 (select),两种类型的SQL语句使用发放也很简单,如果是功能型的只需要在系统后台[系统]-[SQL命令运行工具]中进行使用,如果是模板标签 的数据调用类型,只需要在模板相应位置添加标签即可。
     
    功能型SQL语句整理:
     
    功能说明:添加自定义属性
    insert into `dede_arcatt`(sortid,att,attname) values(9,'d','评论');
    alter table `dede_archives` modify `flag` set ('c','h','p','f','s','j','a','b','d') default NULL;
     
    功能说明:批量为作者和来源赋值
    UPDATE dede_archives SET writer='要赋的值' WHERE writer='';
    UPDATE dede_archives SET source='要赋的值' WHERE source='';
  • 相关阅读:
    ABP PUT、DELETE请求错误405.0
    Visual Studio Code 通过 Chrome插件Type Script断点调试Angular 2
    Angular 报错 Can't bind to 'formGroup' since it isn't a known property of 'form'
    ABP 用swagger UI测试API报401无权限访问问题
    ABP .Net Core API和Angular前端APP集成部署
    ABP .Net Core API和Angular前端APP独立部署跨域问题(No Access-Control-Allow-Origin)
    Hosts文件实际应用 配置内部服务器提高访问效率和速度
    mysql-proxy实现读写分离
    mysql主从复制-linux版本
    nginx作反向代理,实现负载均衡
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15455222.html
Copyright © 2011-2022 走看看