织梦Tag列表类构造函数__construct($keyword, $templet)源码分析教程

admin2023-01-18965

所在文件:arc.taglist.class.php

织梦标签列表类处理的标签指的是如下图所示的标签:

也就是我们在发布文档时,填写的文档标签。这个构造函数也没有做多少事。

函数首先,实例化三个类,然后,处理全局参数,代码为:

也就是把include/channeunit.func.php 里面的定义的全局数组,如下图所示:

把这个全局数组遍历出来,放到数组$this->Fields 里面,以备实例化的这个函数的对象使用。

这个数组对应的实例化后tag对应的结果为:

    [Fields] => Array
        (
            [tag] => dede
            [title] => dede
            [phpurl] => /dedecms/plus
            [indexurl] => /dedecms
            [templeturl] => /dedecms/templets
            [memberurl] => /dedecms/member
            [specurl] => /dedecms/special
            [indexname] => 主页
            [templetdef] => /dedecms/templets/default
        )

从打印出来的这个结果可以看出,我是的把程序放在了根目录里面的dedecms里面的。

此外,这个构造函数还读取tag信息,放入数组$this->TagInfos里面,这才是这个构造函数的主要作用,作为一个构造函数最主要的功能就是处理这个类的对象。当标签存在,但是,在数据库里面查询不到时,就显示错误信息,这个功能代码如下图所示:

360截图20200121212301743.jpg

若把这个数组$this->TagInfos 打印出来,得到的结果就是:

    [TagInfos] => Array
        (
            [id] => 1
            [tag] => dede
            [typeid] => 1
            [count] => 1
            [total] => 1
            [weekcc] => 1
            [monthcc] => 1
            [weekup] => 1437621552
            [monthup] => 1437621552
            [addtime] => 1437621552
        )

最后,就是把从参数里传过来的模板设置好后,载入模板进行解析。

网友评论