本帖最后由 sh6713 于 2013-9-12 16:14 编辑
注:此文章在DX3.0基础上描写
很多人包括我,都想要小米论坛 bbs.xiaomi.com 或 乐视 bbs.letv.com 论坛的首页样式,因为这种论坛首页比较直观,符合现代人懒惰的口味,不用一个一个版块去点了。但可惜,官方没有提供这种样式功能,并且DIY功能只可以调用指定数量的文章,无法展现分页按钮。
这两天在论坛搜刮资料,把模板区和插件区都翻遍了,也没发现什么特别好的办法或者插件,很多以列表为首页主打的模版也无法解决翻页的问题。传说中有用单版论坛模式,关联版块设置,本人觉得那样不太合理,也不高效。
于是,更换思路,发现论坛自带的“导读”页的‘最新回复’似乎和我们想象中的比较像,但是有个问题,如果将这个页面设置为论坛首页,那么域名后面跟了很长一段网址:- forum.php?mod=guide&view=new
复制代码 这个网址,是导读页判断列表调用哪种类型帖子的,如果直接设为首页,这样显得很不专业,对收录可能也有影响,那么怎么把这一截网址去掉呢?
=============================================================
1、复制一份forum.php文件,命名为abc.php
修改abc.php,大约第41行左右- $mod = !in_array(C::app()->var['mod'], $modarray) ? 'index' : C::app()->var['mod'];
复制代码 改为:- $mod = !in_array(C::app()->var['mod'], $modarray) ? 'guide' : C::app()->var['mod'];
复制代码 意思是论坛默认打开是"guide"这个模型,"guide"也就是导读页模型。
2、修改forum_guide.php ,在source/module/forum下面
大约17行- if(!in_array($view, array('hot', 'digest', 'new', 'my', 'newthread', 'sofa'))) {
- $view = 'hot';
复制代码 改为:- if(!in_array($view, array('hot', 'digest', 'new', 'my', 'newthread', 'sofa'))) {
- $view = 'new';
复制代码 意思是默认显示“最新回复”文章,hot是最新热门,digest是最新精华,newthread是最新发表,你想默认显示什么,上面就改成什么。
3、后台导航增加一个菜单,路径abc.php,并设置为首页
到此为止,将“导读”页的‘最新回复’设为论坛首页,并隐藏网址尾巴的想法基本实现,列表展现+分页功能也自然实现了。
下一步,将进行这个页面的布局样式修改,改为左右分栏,并增加DIY功能,因为默认没有DIY功能。
具体修改办法已在下面公布:
|