演示地址:
http://d9day.cn/rd8/
思路:iframe+仿bookroom
实现过程:
复制内容到剪贴板
代码:
要实现首页分类更新,首先要知道读吧哪一部分是分类显示更新的;毫无疑问就是具体的各个分类页面了。而这些页面其实都是bookroom.php来控制的,bookroom.php?aclass=1就是第一个分类,=2就是第二个分类,以此类推。而且我们还知道bookroom.php是通过template/basic/bookroom.html这个模版来表现的,所以大体的思路就是重做一个和bookroom功能一样的一套页面,这套页面包括php和html两部分,html是php的模版部分。
按此分析,首先我们把bookroom.php复制一份,并改名。这里假设为fenlei.php 打开这个文件仔细分析,可以看到有这样一行:
$tpl = new Template('bookroom');
template我们知道是模版,那这句连蒙带猜可以知道就是调用模版文件夹的bookroom.html这个模版。好,现在我们去模版文件夹,把bookroom.html也复制一份改名——这里假设改名为fenlei.html
现在把PHP刚才那一行修改为:
$tpl = new Template('fenlei');
这样就是告诉它调用模版为fenlei.html
现在测试一下,访问[url]http://你的域名/fenlei.php,可以看到一个和bookroom.php[/url]一样的页面。你还可以访问
[url]http://你的域名/fenlei.php?aclass=1[/url],这个是第一个分类,也就是玄幻魔法类的更新列表。
事情到此基本解决了一半了。先来修改模版。去掉左侧和下面的分页,调整显示项目的宽度——在模版里也只能做到这样了。头和尾在模版里没办法去掉。
剩下的都是对fenlei.php的修改。
首先去掉头尾。即getheader($seokeyword);//输出头部 这句,和最后一句 getFooter();
现在看一下,已经很接近我们的要求了。但是还有一点,整个分类是默认的分类行数,明显不适合首页调用——太高了。下面来修改行数。这个是很费功夫的——对不是很了解数据调用的人来说。比如我。
经过仔细分析(主要是结合后台分析,即分析后台把那个数值提交到了哪个变量,然后按照变量名查找—读吧的很多变量都是这样的,我感觉比杰-奇简单的多),我找到了控制这个行数的语句:
$pagelink=Page($booknum,$Global['tiplist'],$Global['seorewrite'],0);
这一行中的第二个调用($Global['tiplist'])这个就是调用的后台行数设置。把这里改成需要的行数就OK了。我的是改成了10至此主体部分完成。剩下的就是美化和调用。简单的是用iframe调用,当然你也可以用include或者JS调用。如果你做的到的话,用你拿手的调用来做。这一部分不是重点。
顺便说一句,我所提供的技巧着重阐述的是思路,并不是最终形式。有些兄弟抱怨说按照我说的一步一步做了结果目的是达到了但是很难看。这个问题貌似是个人美工的问题了。还有比如代码罗嗦的问题,以及不符合标准的问题——这些不在我的思考范围内。我只是告诉你一个思路而已。
over.
[attach]381[/attach]