织梦内容管理系统模板代码参考【精】

优采云 发布时间: 2020-04-13 11:00

  

  织梦内容管理系统模板代码参考. txt 爱一个人很难, 恨一个人更难, 又爱又恨的人最难。 爱情永远不可能是天平, 想在感情里幸福就要舍得难过! 有些苦恼是我们陡然虚构的, 而我们却把它当作真实去承受。 织梦内容管理系统模板代码参考 解析引擎概述 模板设计规范 代码参考 标记 参 考: arclist(artlist, likeart, hotart, imglist, imginfolist, coolart, specart) field channel mytag vote friendlink mynews loop channelartlist page list pagelist pagebreak fieldlist -------------------------------------------------------------------------------- 一、 织梦模板解析引擎概述 在了解 DedeCms 的模板代码之前, 了解一下织梦模板引擎的知识是十分有意义的。 织梦模板引擎是一种使用 XML 名字空间方式的模板解析器,使用织梦解析器解析模板的最大用处是可以轻松的拟定标记的属性织梦内容管理系统模板, 感觉上如同在用 HTML 一样, 使模板代码非常直观灵活, 新版的织梦模板引擎不单能实现模板的解析能够剖析模板里错误的标记。

   1、 织梦模板引擎的代码款式有如下几种方式: {dede:标记名称 属性=' 值' /} {dede:标记名称 属性=' 值' } {/dede:标记名称} {dede:标记名称 属性=' 值' } 自定义款式模板(InnerText) {/dede: 标记名称} 提示: 对于{dede:标记名称 属性=' 值' }{/dede:标记名称}这种方式的标记, 在 2. 1 版中, 表示结束只须要用“{/dede} ”, 但 V3 中须要严格用“{/dede: 标记名称} ”, 否则会报错。 2、 织梦模板引擎外置有多个系统标记, 这些系统标记在任何场合都是能直接使用的。 (1) global 标记, 表示获取一个外部变量, 除了数据库密码之外, 能调用系统的任何配置参数, 形式为: {dede:global }{/dede: global} 或 {dede:global /} 其 中 变 量 名 称 不 能 加 $ 符 号 ,如 变 量 $cfg_cmspath ,name=' cfg_cmspath' /} 。

   (2) foreach 用来输出一个链表, 形式为: {dede:foreach array=' 数组名称' } [field: key/] [field: value/]{/dede: foreach} (3) include 引入一个文件, 形式为: {dede:include file=' 文件名称' /} 对文件的搜索路径为次序为: 绝对路径、 include 文件夹, CMS 安装目录, CMS 主模板目录 应 该 写 成 {dede: global 3、 织梦标记容许在任何标记中使用函数对得到的值进行处理, 形式为: {dede:标记名称 属性=' 值' function=' youfunction("参数一", "参数二", "@me") ' /} 其中 @me 用于表示当前标记的值, 其它参数由你的函数决定是否存在, 例如: {dede:field function=' strftime("%Y-%m-%d %H: %M: %S", "@me") ' /} 4、 织梦标记容许有限的编程扩充。

   格式为: {dede:tagname runphp=' yes' } $aaa = @me; @me = "123456"; {/dede: tagname} @me 表示这个标记本身的值, 因此标记内编程是不能使用 echo 之类的句子的, 只能把所有返回值传递给@me。 据悉因为程序代码占用了底层模板 InnerText 的内容, 因此需编程的标记只能使用默认的InnerText。 二、 DedeCms 模板制做规范 DedeCms 系统的模板是非固定的, 用户可以在新建栏目时可以自行选择栏目模板, 官方仅提供最基本的默认模板, 即是外置系统模型的各个模板, DedeCms 支持自定义频道模型,用户自定义新频道模型后, 需要按该模型设计一套新的模板。 一、 概念, 设计和使用模板, 必须要理解下边几个概念: 1、 板块(封面) 模板: 指网站主页或比较重要的栏目封面使用的模板, 一般用“index_识别 ID. htm” 命名, 此外, 用户单独定义的单个页面或自定义标记, 也可选是否支持蓝筹股模板标记, 如果支持, 系统会用蓝筹股模板标记引擎去解析后才输出内容或生成特定的文件。

   2、 列表模板: 指网站某个栏目的所有文章列表的模板, 一般用 “list_识别 ID. htm” 命名。 3、 档案模板: 表示文档查看页的模板, 一般用 “article_识别 ID. htm” 命名。 4、 其它模板: 通常系统常规包含的模板有: 主页模板、 搜索模板、 RS S 、 J S 编译功能模板等, 此外用户也可以自定义一个模板创建为任意文件。 二、 命名, 为了规范起见, 织梦官方建议使用统一的方法来命名模板, 具体如下: 1、 模板保存位置: 模板目录:{cmspath/templets/样式名称(英文, 默认为 default, 其中 system 为系统底层模板, plus 为插件使用的模板) /具体功能模板文件} 你的模板位置: “ /templets/{风格名称} /功能模板文件 ”, 点击此浏览模板目录 2、 模板文件命名规范: (1 ) index_识别 ID. htm: 表示蓝筹股(栏目封面) 模板; (2 ) list_识别 ID. htm: 表示栏目列表模板; (3 ) article_识别 ID. htm: 表示内容查看页(文档模板, 包括专题查看页); (4 ) search. htm: 搜索结果列表模板; (5 ) index. htm: 主页模板;注解: 你的系统各个内容频道的[识别 ID]分别为: (普通文章=>article) (Flash=>flash) (图片集=>image) (软件=>soft) (专题=>spec) 例: list_image. htm 表示是就是内容类型为图片集的栏目默认列表模板。

   三、 主要标记参考 1、 arclist 标记 这个标记是 DedeCms 最常用的一个标记, 其中 hotart、 coolart、 likeart、 artlist、 imglist、imginfolist、 specart 这些标记都是由这个标记所定义的不同属性延展下来的。 作用: 获取一个指定的文档列表 适用范围: 封面模板、 列表模板、 文档模板 (1) 基本句型: {dede:arclist typeid=' ' row=' ' col=' ' titlelen=' ' infolen=' ' imgwidth=' ' imgheight=' ' listtype=' ' orderby=' ' keyword=' ' } 自定义式样模板(InnerText) {/dede: arclist} 本标记等同于 artlist、 imglist、 imginfolist 标记, 其中与 artlist 是完全等同的, 与imglist、 imginfolist 仅是默认的底层模板不同。 (2) 属性参考: [1] typeid=' ' 表示栏目 ID, 在列表模板和档案模板中通常不需要指定, 在封面模板中容许用", "分开表示多个栏目; [2] row=' ' 表示返回文档行数, 如果和 col 联合使用, 刚结果数等于 row * col; [3] col=' ' 表示分多少列显示(默认为单列); [4] titlelen=' ' 表示标题宽度; [5] infolen=' ' 表示内容简介宽度; [6] imgwidth=' ' 表示缩略图长度; [7] imgheight=' ' 表示缩略图高度; [8] type=' ' 表示档案类型, 其中默认值或 type=' all' 时为普通文档 § type=' commend' 时, 表示推荐文档, 等同于 § type=' image' 时, 表示必须富含缩略图片的文档 [9] orderby=' ' 表示排序方法, 默认值是 senddate 按发布时间排列。

  § orderby=' hot' 或 orderby=' click' 表示按点击数排列 § orderby=' pubdate' 按出版时间排列(即是前台容许修改的时间值) § orderby=' sortrank' 按文章的新排序级别排序 (如果你想使用置顶文章则使用这个属性) § orderby=' id' 按文章 ID 排序 [10] keyword=' ' 表示富含指定关键字的文档列表, 多个关键字用", "分开 [11] channelid=' 数字' 表示特定的频道类型, 内置的频道: 专题(-1) 、 文章(1) 、 图集(2) 、Flash(4) 、 软件(3) [12] limit=' 起始, 结束' 表示限定的记录范围, row 属性必须等于"结束 - 起始", mysql的 limit 语句是由 0 起始的, 如 “limit 0, 5” 表示的是取前五笔记录, “limit 5, 5” 表示由第五笔记录起, 取下五笔记录。

   (3) 底层模板变量 ID(同 id) , title, iscommend, color, typeid, ismake, description(同 info) , pubdate, senddate, arcrank, click, litpic(同 picname) , typedir, typename, arcurl(同 filename) , typeurl, stime(pubdate 的"0000-00-00"格式) , textlink, typelink, imglink, image 其中: textlink = <a href=' arcurl' >title</a> typelink = <a href=' typeurl' >typename</a> imglink = <a href=' arcurl' ><img src=' picname' ></a> image = <img src=' picname' > 变量调用方式: [field: varname /] 如: {dede:arclist infolen=' 100' } [field: textlink /] <br> [field: info /] <br> {/dede: arclist} 2、 field 标记 这个标记用于获取特定栏目或档桉的数组值及常用的环境变量值 适用范围: 封面模板、 列表模板、 文档模板 (1) 基本句型 {dede:field /}(2) name 属性的值: 蓝筹股模板: phpurl, indexurl, indexname, templeturl, memberurl, powerby, webname, specurl 列表模position, title, phpurl, templeturl, memberurl, powerby, indexurl, indexname, specurl, 栏目表 dede_arctype 的所有数组 其中 position 为 “栏目一 > 栏目二” 这样方式的链接, title 则为这些方式的标题 文档模position, phpurl, templeturl, memberurl, powerby, indexurl, indexname, specurl, id(ID, aid) , 档案 dede_archives 表和附加表的所有数组。

   3、 channel 标记 用于获取栏目列表 适用范围: 封面模板、 列表模板、 文档模板 (1) 基本句型 {dede:channel row=' ' type=' ' } 自定义款式模板(InnerText) {/dede: channel} (2) 属性 [1] row=' 数字' 表示获取记录的条数(通用在某级栏目太多的时侯使用, 默认是 8) [2] type = top, sun, self type=' top' 表示顶尖栏目 type=' sun' 表示下级栏目 type=' self' 表示同级栏目 其中后两个属性必须在列表模板中使用。 (3) 底层模板变量 ID, typename, typedir, typelink(这里仅表示栏目的网址) 例: {dede:channel type=' top' } 板:板:同 <a href=' [field: typelink /]' >[field: typename/]</a> {/dede: channel} 4、 mytag 标记 用于获取自定义标记的内容 适用范围: 封面模板、 列表模板、 文档模板 (1) 基本句型 {dede:mytag typeid=' ' ismake=' ' /} (2) 属性 [1] typeid = ' 数字' 表示栏目 ID, 默认为 0, 在没有设定的栏目没有定义这个名称的标记,会按如下搜索方法来搜索“先向下查找父栏目 -> 通用标记(typeid=0) 的同名标记”。

   [2] name = ' ' 标记名称。 [3] ismake = yes| no 默认为 no 表示 mytag 里的内容不包含其它封面模板的标记织梦内容管理系统模板, yes 则表示标记内容富含其它封面模板标记。 5、 vote 标记 用于获取一组投票表单 适用范围: 封面模板 (1) 基本句型 {dede:vote lineheight=' 22' tablewidth=' 100%' titlebgcolor=' #EDEDE2' titlebackground=' ' tablebgcolor=' #FFFFFF' } {/dede: vote} 6、 friendlink 标记, 等同 flink 用于获取友情链接 适用范围: 封面模板 (1) 基本句型 {dede:flink type=' ' row=' ' col=' ' titlelen=' ' tablestyle=' ' }{/dede: flink} 属性注解: [1]type: 链接类型, 值: a. textall 全部用文字显示 b. textimage 文字和图得混和排列 c. text 仅显示不带 Logo 的链接 d. image 仅显示带 Logo 的链接 ------------------------------------- [2]row: 显示多少行, 默认为 4 行 [3]col: 显示多少列, 默认为 6 列 [4]titlelen: 站点文字的宽度 [5]tablestyle: 表示 <table 这里的内容> 7、 mynews 标记 用于获取站内新闻 适用范围: 封面模板 (1) 基本句型 {dede:mynews row=' 条数' titlelen=' 标题宽度' } Innertext{/dede:mynews} Innertext 支持的数组为: [field: title /], [field: writer /], [field:senddate /](时间) , [field: body /] 8、 loop 标记 用于调用任意表的数据, 一般用于调用峰会帖子之类的操作, 请参阅峰会扩充插件。

   9、 channelartlist 标记 用于获取频道的下级栏目的内容列表 适用范围: 封面模板 句型: {dede:channelArtlist typeid=0 col=2 tablewidth=' 100%' } <table width="99%" border="0" cellpadding="3" cellspacing="1" bgcolor="#BFCFA9"> <tr> <td bgcolor="#E6F2CC"> {dede:type} <table border="0" cellpadding="0" cellspacing="0" width="98%"> <tr> <td /]/img/channellist. gif' ></td> <td > <a href="[field: typelink /]">[field: typename /]</a> </td> <td > <a href="[field: typelink /]">更多. . . </a> </td> </tr> </table> {/dede: type} </td> </tr> <tr> <td height="150" valign="top" bgcolor="#FFFFFF"> {dede:arclist row="8"} · <a href="[field:arcurl /]">[field: title /]</a><br> {/dede: arclist} </td> </tr> </table> <div >  </div> {/dede: channelArtlist} channelArtlist 是惟一一个可以直接嵌套其它标记的标记, 不过仅限于嵌套 {dede:type} {/dede:type} 和 {dede:arclist} {/dede: arclist} 标记。

   (1) 属性 typeid=0 频道 ID, 默认的情况下, 嵌套的标记使用的是这个栏目 ID 的下级栏目, 如果你想用特定的栏目, 可以用", "分开多个 ID。 col=2 分多列显示 tablewidth=' 100%' *敏*感*词*表格的大小 10、 page 标记 表示分页页面的附加参数 align="center"><img src=' [field:global 适用范围: 列表模板 句型: {dede:page pagesize="每页结果条数"/} 11、 list 标记 表示列表模板里的内容列表 句型: {dede:list col=' ' titlelen=' ' infolen=' ' imgwidth=' ' imgheight=' ' orderby=' ' } {/dede: list} 底层模板变量 ID(同 id) , title, iscommend, color, typeid, ismake, description(同 info) , pubdate, senddate, arcrank, click, litpic(同 picname) , typedir, typename, arcurl(同 filename) , typeurl, stime(pubdate 的"0000-00-00"格式) , textlink, typelink, imglink, image 12、 pagelist 标记 表示分页页脚列表 适用范围: 列表模板 句型: {dede:pagelist listsize="3"/} listsize 表示 [1][2][3] 这些项的宽度 x 2 13、 pagebreak 标记 用途: 表示文档的分页链接列表。

   适用范围: 仅文档模板。 句型: {dede: pagebreak /} 14、 fieldlist 标记 用途: 获得附加表的所有数组信息。 适用范围: 仅文档模板。 句型: {dede:fieldlist} [field: name /] : [field: value /] <br> {/dede: fieldlist}

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线