ag游戏客服|官方二次开发

?找回密码
?立即注册
搜索
热搜: 活动 交友 discuz
查看: 1220|回复: 1
打印 上一主题 下一主题

[标签教程] ag游戏客服|官方标签底层模板分析

[复制链接]

1046

主题

1109

帖子

5334

积分

超级版主

Rank: 8Rank: 8

金币
256
贡献
3959
跳转到指定楼层
楼主
发表于 2015-5-25 13:53:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dedebase 于 2015-5-31 13:30 编辑

??我们已经在“如何学习ag游戏客服|官方标签”这个教程中已经讲解了一些ag游戏客服|官方标签的一些知识,由于ag游戏客服|官方标签是我们前台开发模板中比较重要的内容,所以,这里对ag游戏客服|官方标签再作一下细化分析,特别是对于二次开发ag游戏客服|官方标签的人来说,这个也比较重要。

??我们知道ag游戏客服|官方标签可以是用界定符成对出现{dede:标记名 属性='属性值' } 底层模板{/dede:*},也可以单词{dede:标记名 属性='属性值' /},这个我们都知道,我们要分析的是底层模板,要分析底层模板,首先我们要分析二个例子。

??例子:

??以下是我们常用的一个标签:

??{dede:arclist row='2'}
??
  • [field:title/]

  • ??{/dede:arclist}

    ??其中,
  • [field:title/]
  • 是底层模板,这是我们手工批定的,这个底层模板是什么意思呢? 实际上这条底层模板是一个带有栏式的记录,样式我们可以用css来自己定义,例如我们把
  • 的css定义成红色,左对齐,字体18px等,这些都可以定义的。这样我们对从数据库里面调用出来的内容后,就可能按照前台开发人员,自己设计出不同栏目显示在我们网站上。

    ??可能有人对“记录”不理解,我举一个例子,一条记录就是指数据库表中的一行,我们称之为记录。

    ??例如,主表dede_archives,如下图所示。



    ??这个表中我截取了4条行,也就是4行记录,当然,每一行后台面还有很多字段,我这里为了方便就截取前几个字段。记录就是一表中的一行,记住这个就行了。

    ??在上面的标签中,底层模板
  • [field:title/]
  • 就是把这一行记录其中的字段title,通过
  • 这样的样式显示出来。至于要显示几条,要看标签属性row的值,若row='4'则,上图中的4条记录都一一遍历出来。

    ??结果类似:

  • 文档标题1

  • 文档标题2

  • 文档标题3

  • 文档标题4


  • ??又有人问,哪个文件或功能把下面的标签

    ??{dede:arclist row='2'}
    ??
  • [field:title/]

  • ??{/dede:arclist}

    ??解析成上面的结果?

    ??这个就是我们介绍的标签源码里面的/include/tablib/arclist.lib.php文件。

    ??重点:模板里标签全部是由/include/tablib/里面的标签源码解析出来的,把解析后的结果显示在我们网上面的。我们在后台添加的内容,都是通过这些标签源码生成的。

    ??知道了这点,我们就可以对标签进行修改,或者自己制作自己的个性标签,例如,我可以写个{dede:dedebase }底层模板 {/dede:dedebase}这样的标签,实现我想要的功能。

    ??上面的arclist标记的标签的底层模板是我们自己写好的,也就是这个标签默认的,但是,如果没有底层模板,例如

    ??{dede:global.cfg_webname/}

    ??{dede:arclist row='2' /}

    ??这二个标签都没有底层模板的,这样的标签特别是在内容页非常多,当我们把上面的代码放在模板里面,我们发现也可以生成内容。

    ??例如,我们首页模板index.htm加入 {dede:arclist row='2' /}如下图所示。


    ??生成一下首页,也生成了二条内容,如下图所示。

    ??

    ??我们再看一下生成的内容的代码,如下所示。

    !{dede:招聘启事 标题='ag游戏客服|官方大家


    !DedeCMS产品授权在线购买


    ??本来我们这个标签 {dede:arclist row='2' /}是没有底层模板的,为什么,程序会自动给我们加上一个html标记
    呢,这些底层样式又是哪里来的?

    ??原来,当我ag游戏客服|官方标签没有底层默认模板时,系统会自动到系统模板templets/system/下面去找对应的模板,然后,把从类似 {dede:arclist row='2' /}遍历出来的记录,显示在系统模板里面。

    ??问题又来了,程序是如何去找系统模板目录system,为什么不找相同目录下的plus呢?

    ??归根到底还是解析标签的源码文件arclist.lib.php,在这个文件中就定义了,如果在没有底层模板时,要找哪一个模板文件。

    ??我们打开这个文件,找到大约103行,找到else $innertext = GetSysTemplets("part_arclist.htm");这一行代码,这行代码就是定义了,如果没有底层模反,那么,我们就可以使用part_arclist.htm里面的定义的样式。

    ??我们打开part_arclist.htm这个文件,看到![field:title /]
    这么一行,正好对应上面输出的结果。

    游客,如果您要查看本帖隐藏内容请回复



    0

    主题

    2

    帖子

    21

    积分

    vip用户

    Rank: 5Rank: 5

    金币
    0
    贡献
    19
    沙发
    发表于 2018-11-10 12:02:30 | 只看该作者
    写得很细致!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|ag游戏客服|官方二次开发

    GMT+8, 2019-11-13 19:56 , Processed in 0.756828 second(s), 22 queries .

    Powered by Discuz! X3.2

    ? 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表