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

No Comments »

今天又在这上面花了好几个小时,不过结果还是基本令我满意的:模板现在基本上可以正常使用,评论正常,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终于被我调教得基本上和我意了,但是还没找到怎么调用评论最多的文章或者查看最多的文章,这个应该要直接调用数据库的,过两天再研究吧,现在已经差不多够用了。

第一套Sablog风格大致做好了,还差细节

No Comments »

昨天看到dda1988老兄都转WP了,真是伤感啊。我昨天也在Sablog论坛发了一下牢骚,的确是令人痛心啊,论坛那人气,即使辛苦做的东西再好也没几个人看。其实昨天也有转WP的想法,特别是决定开始做Sablog模板后被

<code>

<!–

  1. <!–
  2. EOT;
  3. if ($options['enable_trackback'])
  4. {print <<<EOT
  5. –>

</code>

<code>

  1. <!–
  2. EOT;
  3. }print <<<EOT
  4. –>

</code>

弄得晕头转向后,看来做Sablog模板的确不容易啊。虽然主要只用做3个文件,但是每个文件都烦死了,不是多了“}”就是提示不该结束(也就是少了}的意思)。而且我还发现一个很有意思的事情,normal.php和show.php文件头部的

<code>

  1. <!–<?php
  2. if(!defined(‘SABLOG_ROOT’)) {
  3. exit(‘Access Denied’);
  4. }
  5. print <<<EOT
  6. –>

</code>

在生成页面的时候会出多个”<!–”,导致后面的文件全部变成注释了,当时真是弄得我一头雾水,因为页面上不显示,还以为是调用不了呢。后来打开生成html源代码才发现问题根源,就修改了代码

<code>

  1. <!–<?php
  2. if(!defined(‘SABLOG_ROOT’)) {
  3. exit(‘Access Denied’);
  4. }
  5. print <<<EOT
  6. –>–>

</code>

,不过说实话,这样的代码才是有问题的,看来Sablog的确还有很多地方需要改进啊。

好了,说说这套模板吧,我相信应该大家都见过,不过我还真是第一次见到。在一个采用bo-blog程序的博客看到的,一下子就被吸引了,进而找到了它的起源-WP,当时就有了转WP的意思,安装文件都已经下载下来了(呵呵,当时还不知道dda1998兄转WP的,所以不是因为他才萌生的转意)。不过后来一想,算了,不就是博客嘛,功能够用就行了,我不相信我不能把Sablog改成适合我的。所以今后我会继续改一些其它博客程序上的经典主题,并且对Sablog程序进行一些Hack,认定它了。

有喜欢这套模板的等几天吧,我完善后在放出来,现在我的博客每天都半数以上时间处于当机状态,呵呵,都是在改程序或者模板啊,大家体谅一下我啦。