查看: 28|回复: 0

[教程] dedecms教程之单表模型动态浏览设置方法分享

[复制链接]

3

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-4-20
发表于 2023-12-7 00:00:00 | 显示全部楼层 |阅读模式

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部