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的参数为解析出来的标签,
下面的代码为category的代码,先从缓存中取出缓存,然后返回,下面是_return代码,也没有发现排序
这个地方,排序出错,是因为没有更新缓存导致,更新一下缓存排序就正常了,在更新缓存时就将栏目的列表按顺序排列好了,
顺便发现了action=sql中,原来的分隔符为单引号,sql中如果有单引号会出现混淆,,这个地方,我修改成了|,这样的分隔符,不容易引起混淆,
{list action=sql sql=|select * from nb_1_category where pid='0' order by displayorder asc| }
{$t.name}
{/list}
在739行处修改匹配sql的正则表达式,