类别《php&mysql》下的文章:

L卡片:rss应该输出静态文件

三月九号下午,我给emlog博客做了一个rss访问计数器,只记录访问次数,不过滤ip,到今天下午正好一周时间。早晨突然想到自己做了这个计数器,于是看看访问量。结果还是很惊人的:909次。

如果按6天计算,一天150次左右的访问。而我的博客更新频率不过两天一篇,6天只需更新三次rss。多余的900多次数据库查询显得没有必要了。

那么,是否需要针对每天150次的查询做静态输出?这个纯粹看个人爱好,因为rss访问绝大部分是订阅器造成的,纯点击只占非常小的比重,所以这个量因订阅人数的增加成几何级增长,但与访问量无直接联系。也就是有可能访问量增加了10倍,但rss访问量也许只增加一点点。毕竟订阅的是少数。

还好提前预知了这个结果,做模板前就用伪静态将订阅虚拟成rss.xml,以后想输出静态就没有那么多麻烦事。截止到我写最后这句话,访问次数更新到912。

L卡片:emlog模板simue-wood正式版v1.0兼容3.4及3.5

此模板兼容emlog3.4及最新的3.5版本,目前是碎语未美化版,作为目前的3.5测试使用。

预览效果:http://simue.com/blog/?showtpl=simue-wood

首次引入模板配置文件,针对模板细小个性化功能进行定制。

配置文件为simue_cfg.php

  1. 增加评论正序逆序自定义功能
  2. 指定id日志讲上面的评论顺序反转,即允许单独日志评论顺序与其它日志不一致
  3. 针对没有雅黑字体的朋友做了配置,没有雅黑的朋友将yahei => 1,设置为yahei => 0, 将获得细节上的修正。
  4. 页脚插入代码:允许自由插入html代码,一般用来插入流量统计代码,也可以自己做些小特效。
  5. 主导航是否显示登录自定义。有些朋友不喜欢导航上显示登录,那么可以将navadmin => 1,改成navadmin => 0,

具体配置帮助见文件内注释。

其它功能:

  1. 理论上支持全部浏览器,对符合标准的浏览器增加小特色,让我们放弃IE6吧!
  2. 导航栏支持首页及所加页面的当前位置标示。
  3. 页头关键字优化:首页显示博客关键字,文章页显示该文章的标签,对分类页未处理。
  4. 评论显示楼号,并增加访客点回复在回复框自动添加“回复1楼:”字样。在实现嵌套盖楼评论前,先用这种方法替代一下。
  5. 评论支持gravatar头像。
  6. 页面右下增加快速返回顶部按钮,注意,这是拥有动画效果的滑动返回顶部。
     
  7. 查看某个分类或标签时,在页首添加当前位置,如:
    类别《简单的生活 》下的文章:


因为改动的地方不少,而我并为针对现存的所有插件做测试,所以如果某些改动与某插件产生冲突,请及时联系我改正。

下载该模板:simue-wood

L卡片:自造伪静态完成,猛击测试

自造版emlog,仿wordpress伪静态

日志归档和标签暂用官方原来的没变,文章及分类增加别名实现自定义网址

因改动核心文件比较多,无法做成插件,仅供观赏吧

以下是改动过的文件列表,如测试有错或发现逻辑问题欢迎留言指正:

admin/views/default/add_log.php

admin/views/default/edit_log.php

admin/views/default/permalink.php

admin/add_log.php

admin/edit_log.php

admin/permalink.php

admin/save_log.php

lib/function.base.php

index.php

++加模板文件若干++

改造emlog的伪静态

 

此伪静态实现方式只此一种,并没有搞wp那种组合的方式,主要是工程量比较大,而且我也不用。这样写改动的核心代码不多,目前只实现了功能,未与emlog本身的缓存结合,等功能完善后,再研究缓存代码,纳豆不写,我自己写罢

详情进入看图

阅读全文>>

L卡片:简单分析让emlog实现评论嵌套的方法

分析这个是因为emlog的评论功能很简单,所以等以后抽空要写这个东西,正好想到了写出来存个稿。

比如回复了评论id为5的评论。那么这个评论就归属于评论id为5的这个评论。

以现有的评论表来实现这个关联有点难。如果加个关联表,对老评论以及以后升级也没好处,不如在评论表加个父评论字段比较省事。

新建一字段facid,不允许为空,加个默认值0;

回复评论好写,稍微改造一下原来的表单,多提交个父级字段即可。因为写库需要改动原来存评论的那个文件。所以提交和写库最好单独写个文件实现,而且这样做原来评论的表单也不用动,免得改动源文件。

显示复杂点,比如要显示id为1的文章下的所有评论:

在库里查找所有gid为1的评论,并按facid分组,facid内再按cid排序。

剩下的交给php循环读出来就行了。其实就是一个[facid][cid]的二维数组。

这里只考虑最简单的情况,

未考虑最多允许盖几层楼,多出来的楼怎么显示的问题。

如果emlog像wordpress那样在表里预留几个字段供别人开发,希望emlog的作者能考虑到,在下个版本中搞好扩展。

emlog3.4.0修改记录存档

非模板的源文件改动在这里记录。

评论时间改成实际时间:

改model/class.comment.php 第53行
//$row['date'] = smartyDate($row['date']); ----注释掉原来的
改成:
$row['date'] = date('Y-m-d h:i',$row['date']);

文章下评论排序方式由按时间倒序改成顺序:

还是上面那个文件 第40行
DESC改成ASC

wordpress字符过滤将英文引号替换成中文引号的解决方法

L卡片认为这是目前最完美的解决方法。

为了安全考虑,wordpress会将一些字符如引号替换成别的字符 。这一功能不影响一般博客,可对于需要贴代码类的博客来讲,这属于致命伤。试想那么多单引号双引号都被替换成中文字符 ,因字体差异很小,访客不明白,直接将代码复制粘贴使用,程序报错自然是在所难免的了。而就阅读效果,该用左右引号却变成一大一小,这样也是非常难看的。

在网上搜了很多文章都不尽如人意,我又不想关闭过滤功能,于是研究wordpress后发现过滤功能写在 wp-includes\formatting.php 这个文件中。

我们要做的很简单,用任意文本编辑工具打开,查找替换:

因为中文单引号分别为 ‘ ’ 于是把他们替换成 ' 就可以了。

而中文的双引号分别是 “ ” 接着把他们替换成 " 就可以了。

这样做的原理就是基于ASCII码的,因为wordpress用ASCII编码替换用户输入的字符 ,那么只要改变他的替换结果就可以了。

没人能记住ASCII码表的,某些BT除外,为了方便大家修改其它字符,附一个ASCII查询工具:http://www.weste.net/tools/ASCII.asp

输入要查的字符就可以显示ASCII值,用在wordpress里只需在前面加 &# 即可。

至此,就可以完全不必关掉过滤功能而实现完全自定义的字符替换!

对我来说安插件浪费资源,以后如果升级wp,重新查找替换一回也不麻烦。

Top↑