Home  >  Article  >  php教程  >  dede 单表模型动态浏览设置 arclistsg arc.sglistview.class.php

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

WBOY
WBOYOriginal
2016-06-13 10:17:481031browse

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

  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就可以了,不过这样做兼容性不怎么好,建议方法一

 

        

 

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn