为你的PageCookery制作网站挂件(增加97版的支持)

提醒:本文最后更新于 4912 天前,文中所描述的信息可能已发生改变,请谨慎使用。

之前写过一篇为你的PageCookery制作博客挂件,利用的是PageCookery的RSS制作的。今天给大家放的代码是直接读取数据库然后用js的innerhtml引用的方法,此方法适用于任何网站,甚至是HTML页面也是可以的。新分享的方法简单方便而因为读取数据库的原因是实时更新的呢!这里要感谢卜卜口の君的各种指导。

本文需要使用的文件下载:普通下载 | 115下载 | uudisc下载 注意:以上文件适合97版本以前的【不包括97版】PageCookery,如果是97版以后的请拷贝下面的代码。

下载好文件后将其解压,将widget.php和badge.php文件上传到您的PageCookery根目录下,即与config.php同级的目录。然后浏览器输入"您的PageCookery地址+/widget.php",例如我的是http://pagecookery.net/widget.php出现什么了?呵呵~上面已经有提醒了,我就不多说了。

友情提醒:通过定义script地址后面的mount的值可以控制显示的条数哦!我已经定义了许多标签,样式什么的可以尽情的发挥咯!

这里我也直接放出代码出来给那些不愿下载的孩子:

widget.php文件源代码:

<?php
require_once("global.php");
?>
<p>JS插件代码|复制代码到你要引用的地方
<textarea style="width:80%;height:80px;"><div id="pagecookery"></div>
<script type="text/javascript" src="<?php echo BASE_URL; ?>badge.php?mount=10"></script></textarea></p>
<p>效果预览:
<div id="pagecookery"></div>
<script type="text/javascript" src="<?php echo BASE_URL; ?>badge.php?mount=10"></script></p>
</pre>
badge.php文件源代码(适合97版本以前的PageCookery【不包括97版】):
<pre class="brush: php;">
header('Content-Type:application/javascript;charset=utf-8');
require_once("global.php");
if (!isset($_GET['mount'])){
	$_GET['mount']='10';
}
document.getElementById('pagecookery').innerHTML='< ?php
if(ereg("^[0-9]*$",$_GET['mount'])){
$sql='SELECT * FROM entry ORDER BY time DESC LIMIT '.$_GET['mount'];
$entry = $SQL->RunQuery($sql);
echo '<style type="text/css">#pagecookery img {display:none;}</style><ul>';
while($item = $SQL-> FetchArray($entry)){
echo '<li>';
echo '<span clss="entry">' . get_username_by_id($item['userid']) . '</span>';
echo ':';
echo hFormat::ParseBBCode( htmlspecialchars($item['content'],ENT_QUOTES));
echo '<a href="' . BASE_URL .'?act=view&id=' . $item['id'] . '" target="_blank"><span class="time">' . Format::Time($item['time']) . '</span></a>';
echo '</li>';
}
echo '</ul>';
}else{
echo '这里没有你要的东西呢';
}

badge.php文件源代码(适合97版本以后的PageCookery【包括97版】):

  header('Content-Type:application/javascript;charset=utf-8');
  require_once("global.php");
  if (!isset($_GET['mount'])){
      $_GET['mount']='10';
  }
echo "document.getElementById('pagecookery').innerHTML='";
  if(ereg("^[0-9]*$",$_GET['mount'])){
    $sql='SELECT * FROM entry ORDER BY time DESC LIMIT '.$_GET['mount'];
    $entry = $db->query($sql)->result_array();
    echo '<style type="text/css">#pagecookery img {display:none;}</style><ul>';
    foreach($entry as $item){
      echo '<li>';
      echo '<span clss="entry">' . get_username_by_id($item['userid']) . '</span>';
      echo ':';
      echo Format::ParseBBCode( htmlspecialchars($item['content'],ENT_QUOTES));
      echo '<a href="' . BASE_URL .'?act=view&id=' . $item['id'] . '" target="_blank"><span class="time">' . Format::Time($item['time']) . '</span></a>';
      echo '</li>';
    }
    echo '</ul>';
  }else{
    echo '这里没有你要的东西呢';
  }
echo "';";

站外引用的代码|在"您的PageCookery地址+/widget.php"文件中有!

<div id="pagecookery"></div>
<script type="text/javascript" src="您的PageCookery地址+/badge.php"></script>

明眼人都看出来了吧,其实widget.php可有可无的,方便大家而已!

46 评论

山姆 Chrome24.0 Windows XP
2012-10-23 02:57:32 回复

貌似不支持9.9版本吧?我按照这个方法做了,一直提示

求解答~~~

公子 Chrome22.0 Windows 7
2012-10-23 10:12:47 回复

@山姆
额,不好意思,因为在文章中直接引用代码带来的转义上的错误,导致了代码的无法运行。现在已经将代码托管到Gist上去了,并实测可运行,请放心使用。

shaun Chrome13.0 Windows 7
2011-09-15 13:37:43 回复

请问你文章头的播放器是怎么弄的啊··还有歌词显示 好强大

公子 Chrome16.0 Windows 7
2011-09-16 03:55:42 回复

@shaun
亦歌播放器.谁用谁知道!哈哈!

shaun IE9.0 Windows 7
2011-09-16 04:03:08 回复

恩 那个播放器的样式也能自定义的吗 我看你的播放器好像不同呢

公子 Chrome16.0 Windows 7
2011-09-16 08:06:25 回复

@shaun
应该是可以的吧.我这个是插件的,插件里头可以设置

Mick Chrome12.0 Windows XP
2011-08-10 12:13:29 回复

博主,请教个PageCookery问题,PageCookery是不是不支持数据库前缀?如data_PC

公子 Chrome14.0 Windows 7
2011-08-14 06:48:45 回复

是的,目前是不支持的

sy Chrome12.0 Windows XP
2011-06-25 04:30:18 回复

判断是否为合法的数值0-9那句后面的echo段
单独声明一个变量装在并拼合字串,
OR,
使用混合输出
?>

likekart Chrome12.0 Windows XP
2011-06-24 11:11:49 回复

好东西,收下

丰禾棋牌 IE6.0 Windows XP
2011-06-08 02:21:39 回复

都是大神级别的。 电脑小白痴的我完全一片空白。

lovee Safari5.0 Mac OS 10.6.6
2011-02-25 15:28:54 回复

又换主题了orz话说这次文字和背景颜色好接近看着好累orz

大大的小蜗牛 Chrome9.0 Windows 7
2011-02-21 01:20:04 回复

这个不错。

Even IE8.0 Windows XP
2011-02-20 15:22:40 回复

:8 前来马克 真有用~~

❤猫绒绒❤ IE8.0 Windows 7
2011-02-17 05:56:17 回复

留爪继续研究……话说你这个评论预览很有趣咩~咋弄滴?

怡红公子 Chrome11.0 Windows 7
2011-02-17 07:24:29 回复

WordPress插件哦,详情请看我正在使用的插件

❤猫绒绒❤ IE8.0 Windows 7
2011-02-17 07:37:07 回复

翻了半天没看明白是哪个插件的效果……Quote Comments?

怡红公子 Chrome11.0 Windows 7
2011-02-17 07:45:19 回复

:9 汗…我去看看…等下……
找到了
(17)Live Comment Preview

❤猫绒绒❤ IE8.0 Windows 7
2011-02-17 07:47:29 回复

谢啦~尝试一下

Jclyn Chrome9.0 Windows Vista
2011-02-16 15:37:52 回复

😉 :amaze 我代表螃蟹消灭你

mofei Chrome9.0 Windows XP
2011-02-16 16:59:50 回复

好吧,我代表水冰月!哇哈哈 :1

Jclyn Chrome9.0 Windows Vista
2011-02-16 17:03:23 回复

:3 你竟然没睡啊。
:3 我代表夜礼服假面迷惑你

mofei Chrome9.0 Windows XP
2011-02-16 17:07:30 回复

没睡?这应该是我问你,才刚洗完衣服!哈哈…迷惑我?我要求可高了!怕你不达标

heson Chrome10.0 Windows 7
2011-02-16 07:01:46 回复

你看我网站的下栏试用么!?

怡红公子 Chrome11.0 Windows 7
2011-02-16 08:02:23 回复

可以的啊,不过要看你自己觉得怎么加才好看了呢~

韩国 Chrome6.0 Windows XP
2011-02-16 04:57:55 回复

:8 网站挂件我怎么没看到呢?

怡红公子 Chrome11.0 Windows 7
2011-02-16 05:55:18 回复

:9 不就在博客边栏么…==

小十 Maxthon2.0 Windows 7
2011-02-16 02:53:52 回复

:3 太好啦。。在Jclyn的介绍下,博主果然奇葩~ :8

mofei Chrome8.0 Windows 7
2011-02-16 03:22:47 回复

我也被列为奇葩了 :3

2011-02-15 19:04:56 回复

[…] 越来越多的独立博客的博主们开始使用独立微博,之前大家都是调用的RSS,可是不知道大家有没有注意到,实时调用性很差,有时甚至发布了几个小时的状态,我们的WP还是没有同步过来!这个问题我一直看着不爽,可是俺没那本事,没办法,就只能将就着了。今天看到公子分享了这个直接调用数据库的方法,真是太给力,实现了真正的实时同步的效果!本博已添加,俺也贴出来给自己备个份,顺便分享给更多的想实现此效果的童鞋们! 记录者:mofei 原文链接:实时调用Pagecookery 这里允许mofei扯天,扯地,扯人生!这里记录mofei走过的路! mofei bolg版权所有,请勿转载本博客日志到任何博客或论坛。 2011年02月16日 03:04:48标签: WP 分类目录:关于WP […]

mofei Chrome8.0 Windows 7
2011-02-16 03:24:42 回复

咦?话说公子这个是怎么个原理?我还准备过来说一声的,结果一看这个我惊了,这也可以?难道是因为我复制这里的代码,所以留有了痕迹?

mofei Chrome8.0 Windows 7
2011-02-16 03:25:27 回复

还是因为添加了这里的链接?

怡红公子 Chrome11.0 Windows 7
2011-02-16 04:26:10 回复

因为WordPress有Pingtrack功能,你在博客引用了我的链接,会向对方自动发送通知的……
PS:我这篇文章算是被你们给刷爆了…… :9

Jclyn Chrome9.0 Windows Vista
2011-02-16 15:14:10 回复

:4 快感谢我
都是我介绍来的
快点
!! :6

Jclyn Chrome9.0 Windows Vista
2011-02-15 17:41:18 回复

:11
楼上的奇葩pc
奇葩公子
奇葩mofei

奇葩+奇葩
两眼泪汪汪

哈哈哈
大仙我先歇着了
加油叻你们

mofei IE7.0 Windows XP
2011-02-15 17:04:02 回复

额…我这咋出问题了,IE内核下站点直接打不开,说什么终止,谷歌,FF下就OK

怡红公子 Chrome11.0 Windows 7
2011-02-15 17:19:00 回复

哪个页面IE打不开啊?你是IE几呀?我这里全都正常呢?

mofei IE7.0 Windows XP
2011-02-15 17:21:32 回复

我是7,我又把站点改回来了先!添加这个数据库的调用,站点就打不开了,加载一半弹出对话框显示站点无法打开,已终止操作

mofei IE7.0 Windows XP
2011-02-15 17:22:30 回复

本地测试也是这个样子

怡红公子 Chrome11.0 Windows 7
2011-02-15 17:25:31 回复

这个跟站点没关系吧,加入的文件没对程序做任何更改啊…==

mofei IE7.0 Windows XP
2011-02-15 16:50:24 回复

哈哈…用上了!好东西,谢谢分享!终于能实时了

卜卜口の Chrome8.0 Windows 7
2011-02-15 15:42:45 回复

不错哟!
沙发上的怎么了…

Jclyn Chrome9.0 Windows Vista
2011-02-15 15:40:24 回复


怎么能忘了发表情呢
:1 :4 :7 :6

Jclyn Chrome9.0 Windows Vista
2011-02-15 15:39:52 回复

哈哈哈
不好意思
由于和你的作者有妙不可言的关系
在你出世之前
我就已经用上了
哈哈哈哈哈哈