Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of module_invoke_all(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/.megatoes/geniusy/geniusy/drupal/modules/fuzzysearch/fuzzysearch.module on line 324
模板基本完善,Sablog伪静态再次改善 | Geniusy's Blog

模板基本完善,Sablog伪静态再次改善

今天又在这上面花了好几个小时,不过结果还是基本令我满意的:模板现在基本上可以正常使用,评论正常,widget可以正常打开关闭和移动,我还打入了点自己创意,widget都是可以在后台打开关闭显示的。比如说友情链接吧,你只要在后台关闭博友情链接显示,那个widget整个都不会显示,今后我还会加入一些创意进来的,只要在我没换模板之前都会一直改善的,再测试几天,确认无错后准备放出来,毕竟Sablog的模板真是太少了。

之前的伪静态规则还不很完善,比如说用字啊独立主机上(写入httpd.conf文件内)有些未静态的页面打不开,还有文章链接也是用的官方的静态化规则。今天终于找到办法解决了,本来可以通过改index.php文件来改变网站网址生成规则,包括动态的地址,比如可以用"http://www.geniusy.com/index.php?action=show&item=文章标题"形式来打开相应文章,这样在伪静态的时候就可以获取到articlename这个参数,其它事情就好办了。但为了不影响源程序的完整性,放弃了这种方案,而采取了下面的方式:伪静态规则为“http://www.geniusy.com/文章标题-id.html”,然后通过rewrite指向"http//www.geniusy.com/index.php?action=show&id=id",问题基本上解决,但是因为没有对title进行处理,所以如果中间有空格那么就不能静态化了。

之前还发现一个奇特情况,有时候有些网址不能伪静态,就是说common.php在用伪静态规则替换的时候很多网址不替换。之前一直没找到解决方法,今天窒息研究common.php,终于发现问题了,原来其中的替换匹配规则是这样写的 <code>"/\<a href\=\"(\.*\/*)\?action\=index&setdate\=(\d+)(&page\=(\d+))?\"( class\=\"(.+?)\")?/e",\> </code>

这是就出现问题,它只考虑到了class,要是人家<a href=""后面还有title或者id呢?或者有些人不把href写在紧跟a的位置,那样就匹配不上了。解决办法:我把后面的"/>"去掉了,这样就解决了后面有title或者其它条件的情况,包括那个class也可以去掉,但是算了,反正都是加了括号的,不影响结果。解决href之前有title或者其它条件的情况最好是自己写模板的时候注意一下,你也可以在前面加入(title\=\"(.+?)\"),我没加,只有一个比较特殊,就是日历,因为sablog默认的就是在a和href之间有title,所以我把那个加上了。

现在Sablog终于被我调教得基本上和我意了,但是还没找到怎么调用评论最多的文章或者查看最多的文章,这个应该要直接调用数据库的,过两天再研究吧,现在已经差不多够用了。

Tags: sablog, wp, 伪静态, 模板

发表新评论

此内容将保密,不会被其他人看见。
  • You can use BBCode tags in the text, URLs will automatically be converted to links.
  • You can use coolfilter tags in the text, to include code and media
  • Image links from G2 are formatted for use with Lightbox.V2
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ol> <dl> <dt> <dd> <img> <inline> <center> <p> <object> <br> <th> <tr> <td> <embed>
  • 网页地址和电子邮件地址将会被自动转换为链接。

更多格式化选项信息

Similar

Similar