dede 单表模型动态浏览设置 arclistsg arc.sglistview.class.php

比如,分类信息,内容页默认都是生成静态的,如果有需要设为动态访问的,可以参考如下方法:

  arclistsg 标签,单表独立模型的文档列表调用标记

  方法一:


  在arclist标签使用中,其对应主表dede_archives中有一个字段ismake字段,其作用大家应该知道,值为-1时动态,我们的方法就是模仿这个。

  单表模型的创建,默认是不没有ismake字段,因为我们手工创建一个ismake字段,设其传值为-1。

  注:创建模型时,可以添加一个ismake字段。如果没有,则可以在对应表中直接添加,并在dede_channeltype表中的listfields中加上ismake字段,此举为添加查询字段。如果最后一步都完了,发现不起作用,可以查询listfields是否有ismake

  修改源码:

    第一,arclistsg 源码中,大约在264行,找到$row['arcurl']这个,GetFileUrl()【这个函数在        helpers/channelunit.helper.php中】,就是获取url地址用的,其中有一个ismake参数,有兴趣可以看看这个函数。

我们的目的就是将GetFileUrl()参数中的 1[$row['title']后面的1] 改为$row['ismake']

      注:如果只需要arclistsg标签显示动态,则到此步就可以了

    第二,修改arc.sglistview.class.php,大约760行,将$row['ismake'] = 1;注释掉,下其下面的几行,有$row['arcurl'] = GetFileUrl()有与第一步中的代码,改成第一步中一样的即可

 

  到此,基本上可以实现动态浏览,不过在新增或修改时还是会生成html文件,将对应发布程序或修改程序将生成html的代码注释就可以了。

 

  方法二:

    其实和方法一是一个道理,如果不想建立ismake字段,将对应的地方法修改为-1就可以了,不过这样做兼容性不怎么好,建议方法一

 

        

 

 

posted @ 2013-12-20 14:34  一枪把世界杀了  阅读(1091)  评论(0编辑  收藏  举报