慢享生活 静品人生

随机日志列表插件更新

主要是修正了BUG

1、修正随机列表文章数大于日志总数时会出现错误;
2、修正simplexml_load_file读取文件失败时会引发的错误;

新版下载:RandomArticleList.2.0.1.zip

 

随机日志插件2.0版

    插件下载RandomArticleList.2.0.zip

    该版插件没使用sql的随机查询,而是读取数据条目总数,然后生成随机数组,按数组逐条从数据库中读取数据,生成列表,就我本地测试,效率比使用sql的rand()版效率略微低点。但是大数据量的情况就不知道了。

使用方法:
1、上传RandomArticleList.php文件到/usr/plugins目录
2、在模板文件中需要随机列表的地方添加
查看代码打印代码帮助1 <?php RandomArticleList::parse(); ?>
3、启用并设置插件即可。

可以控制输出格式,如

<?php RandomArticleList::parse('<li><a href="{permalink}">{title}</a></li>'); ?>

只输出两个东西:
文章标题:{permalink}
文章链接:{title}

 

带缓存的随机日志列表插件

把原来做的随机日志列表插件RandomArticleList做了下改进,添加了缓存机制,使用xml文件作为缓存。截图1269056875.png

插件下载RandomArticleList.zip

阅读剩余部分...

 

随机文章列表插件

        先前实现随机列表的方式有点麻烦,要改动和新加文件,现在做了调整,主要功能都由插件实现,只需要改动很少一点地方。

1.下载插件上传到plugins RandomArticleList.7z

2.在在\var\Typecho\Db.php文件中36行左右添加下列内容

    /** 随机排序 */
const SORT_RAND = 'RAND()';
const SORT_RANDOM = 'RANDOM()';
 
如果不改这里,就要自己写代码实现数据库的读写,有点麻烦(我是个懒人)。

3.在模板文件的侧边栏文件中加入

<?php RandomArticleList::parse(); ?>
 
也可以设置输出样式,如
 
<?php RandomArticleList::parse('<li><a href="{permalink}">{title}</a></li>'); ?>
 
上面这个是默认样式,与第一句RandomArticleList::parse()等效,可以自己针对模板灵活改动。

数据库的随机读取依然采取的是 order by rand()的方式,效率嘛,肯定不高,对于一般的博客数据就几百上千条影响不大,如果是几十万数据的博客,肯定有办法自己写更好的插件了:)

下一步准备实现随机列表的缓存,把随机列表存入文件中,间隔一定时间(如10分钟)更新一次,来减少数据库的操作。现在是网页上每点击一次,都要读数据库新生成随机列表。

 

实现随机文章列表的方法

一直在想做一个随机列表插件,对typecho和面向对象的编程方式不熟,所以暂时就不能实现。 下面是通过改动一些文件来实现随机文章列表的显示,效率应该不是很高,不过对于我的小博客应该没有问题,数据量如果比较大(上万行的数据)就要另想办法了。

1.在\var\Typecho\Db.php文件中36行左右添加下列内容,数据库不同添加内容不同。
针对mysql数据库添加

/** 随机排序 */
const SORT_RAND = 'RAND()';

如果是sqlite数据库则是:
/** 随机排序 */
const SORT_RAND = 'RANDOM()';

阅读剩余部分...

 
返回顶部