finecms v5.4.1中category标签介绍

finecms是李睿同学开源一个的cms,下面这一段摘自finecms.net

产品简介

FineCMS(简称免费版、企业版、公益版)是一款基于PHP+MySql+CI框架开发的高效简洁的中小型内容管理系统,面向多终端包括Pc端网页和移动端网页,支持自定义内容模型和会员模型,并且可以自定义字段,可面向中小型站点提供重量级网站建设解决方案,适用于小型站点、企业级网站、新闻内容网站等,个人站长及中小企业的首选建站系统。

免费开源无任何商业限制

FineCMS系统免费并开放源代码,推荐开发者或公司在此基础上进行二次开发或者发行,支持修改程序版权并发行新的程序(如改成xiaocms、dacms、haocms、huaicms都行),本人一直提倡免费开源,希望在此基础上开发的开发者也能保持免费开源,为本土的开源事业做一点贡献。

看过好多cms都有版权限制,对于这样的慷慨的人,我们自然要支持一下,

后台有个批量添加栏目的功能,我批量添加了一批单页,又添加了两个文章列表,调用的时候,使用的原来的模板中的

            {list action=category pid=0}
            
  • {$t.name}
  • {/list}

    结果发现菜单的显示顺序是按添加的先后顺序显示的,并不是按我设置的序列排列,于是加了一个order=displayorder_asc,发现不起作用,只好查看源代码,找到系统的模板解析引擎 finecms/dayrui/libraries/Template.php,解析函数为

    public function list_tag($_params) {

    在这里可以打印一下$_params的参数为解析出来的标签,

    finecms v5.4.1中category标签介绍_第1张图片

    下面的代码为category的代码,先从缓存中取出缓存,然后返回,下面是_return代码,也没有发现排序

    这个地方,排序出错,是因为没有更新缓存导致,更新一下缓存排序就正常了,在更新缓存时就将栏目的列表按顺序排列好了,

    finecms v5.4.1中category标签介绍_第2张图片

     

     

    顺便发现了action=sql中,原来的分隔符为单引号,sql中如果有单引号会出现混淆,,这个地方,我修改成了|,这样的分隔符,不容易引起混淆,

                    {list action=sql sql=|select * from  nb_1_category   where pid='0'   order by  displayorder asc| }
    
                    
  • {$t.name}
  • {/list}

    在739行处修改匹配sql的正则表达式,

    finecms v5.4.1中category标签介绍_第3张图片

    你可能感兴趣的:(finecms)