在网上有人问我,你怎么不也写写年终总结,新年展望之类的东西?因为我觉得这些都是虚的,总结的再好,计划的再棒,对我来说都是没啥用的。
新年第一天,我没出去,中午起床后,琢磨了一阵,开始想做一个完全不同的首页。画了半天,完全弄不出一个成型的东西出来。只好网上乱逛找灵感,不是没有我满意的就是美工要求太高的。最后决定还是就这现在这个模板改吧。晚上时终于做好了。一个小CMS布局的首页终于出炉啦。
以前没做过CMS式的主题,之前以为就是页面上多几个循环而已。做了以后才知道,循环好搞,保持取得的文章样式的统一可不是简单的事。因为不同文章的标题长度不一,标签,分类,摘要长度(因为我喜欢用摘要,都是自定义摘要,所以长度什么的都不一样)。获取文章列表后还要对标题,摘要进行一番截断,以保持样式。
但最让我苦恼的是,做CMS我不能本地测试,因为需要很多文章,很多分类,标签,等等。CMS首页许多小块分布用来放文章,但是我本地搭建的那个WP根本没那么多文章让我用来测试,如果要一篇一篇的写,会更费事,因为要照顾到不同的情况:标题长度要有长有短;标签要有的有,有的无;文章内容有带图片,有不带图片的;有写了摘要的,有没写摘要的;摘要里有图片的,有没带图片的。。。等等情况。而且因为我要动态获取文章摘要中的图片,以sildeshow形式在首页巡回滚动,所以必须要摘要里带图片的几篇日志。如果要一下子写这么多文章满足测试需要,那我一天就在那里写文章得了。所以,我改一点代码,就要上传服务器上测试一下,非常麻烦。昨天下午有访问我博客的,可能会发现有些地方出现很多错误,就是因为我在后台改动所致。
现在这个首页主要分为四大块:导航菜单下方的slideshow区域和它右边的最新一篇日志展示模块;slideshow下方的五篇最近日志;再往下的分类日志模块;最后是右边的一个小边栏。
其实我有心将CMS做到底,就像个门户网站之类,但是我发现我完全做不来,不是因为技术上,是因为我没有那么多日志文章可显示(也就二三十篇吧,不包括之前博客大巴写的)。现在下面的四个分类日志已经是极限了。因为我用WP没多久,没累积多少值得别人一读的文章,如果按分类展示一部分,按标签再展示一部分文章的,结果,发现。。。。文章不够,不然就重复太多了。于是放弃了。所以就有了现在这个简化版的CMS了。
当然,之前的那个Ajax动态加载式首页还可以通过http://www.qiqiboy.com/blog访问。今天我查了一下百度首页快照,发现是2010.1.1,哎,百度又正常收录我首页了,我又在这节骨眼上换首页了!!

说到搜索引擎,我不得不抱怨一下google了,年末了绝大部分人的都升PR了,我的依然没变,还是PR=2,真成了千年老二了。我不记得这个2已经跟了我多久了,最少也八九个月了。。。。。年末许多人的都升到4了,我估计这段时间应该是pr>3的站最多的时候。谁知道年后google下一次更新会不会再把pr给要回来。。。。
还有,我发现WP不知道怎么回事,我通过is_front_page()这个函数判断首页,结果发现只在head.php中有效,而且只可以用两次。我测试了一下,用这个函数,在其他页面任何位置(footer或首页模板中)都只会返回FALSE。只有加在header中有效。诡异的是我将这个判断函数重复了三遍写在header中,结果只有前两次返回true!!!绝对没写错,我复制的。WP对这个函数的定义是
1: function is_front_page () {
2: if ( 'posts' == get_option('show_on_front') && is_home() )
3: return true;
4: elseif ( 'page' == get_option('show_on_front') && get_option('page_on_front') && is_page(get_option('page_on_front')) )
5: return true;
6: else
7: return false;
8: }
关于is_front_page()和is_home()的区别,请自行查看官方文档。
‘posts’ == get_option(‘show_on_front’) 是后台设置最新日志为首页。’page’ == get_option(‘show_on_front’) 是后台设置某个页面为首页。我就是后台将应用这个cms模板的页面设为了首页 ,按说应该都返回true的。但是这个函数貌似出来问题。用起来有点乱。而且我的后台设置判断函数也都失效了。很奇怪的问题。
这个不管了,影响不大。
最后还请大家对这个首页给点意见,当然,我知道页面很丑,很简陋,我美工很差的,所以看起来有些乱。

补充:这个首页以模板形式发布,即将来我这个主题发布后可选择应用Ajax动态加载式首页,或用此CMS首页。使用cms首页只需编辑这个模板去掉 Template Name: CMSHome这一行注释,然后将它命名为index.php,替换原来的即可。