本文主要介绍了DedeCms单表模型动态浏览设置的方法,比如,分类信息,内容页默认都是生成静态的,如果有需要设为动态访问的,可以参考如下方法
方法一:
在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就可以了,不过这样做兼容性不怎么好,建议方法一