drupal模块

二个重要模块升级 + 一个新的模块

Spam模块的4.7版本终于发布了,在这个垃圾横飞的互联网星球上,方便人们交流的comment,trackback等功能很容易遭到垃圾信息的侵袭,一夜之间可能突然多了上千条色情网站广告的评论,让人不胜其烦。而 Drupal 的Spam 模块很好的解决了这个问题,在 4.6版本下使用起来的效果非常好,但是 4.7 版本的开发直道上周才完成,在这里可以下载,由于许可的问题,这个模块无法在Drupal的主站下载。注意安装以后需要运行 update.php 来升级旧的数据库。

另外一个今天有了新的更新的模块是 Trackback 模块。但是还没有 4.7 的正式版,我试了一下已经可以用了,但是需要自己写一个升级旧的数据库的脚本,我写了一个,如下,保存为 trackback.install 放入 trackback 的目录下即可。

但是我现在没有启动 trackback 模块,因为随着 google blog search 与 technorati 的发展,似乎自动的 backlink 要比手动的 trackback 要好用一些。

最后一个Comment Info 模块,功能不多,但是却很实用,方便匿名访客书写评论,如果一个访客在你的blog留过言,下次再留言时可以不用再重新填一遍个人信息。留言下面多出了一个Save my Comment Information for next time,如果勾选,下次留言将无需再次填写信息。

Blog分类: 

Drupal 的 Adsense 模块

Google Adsense呵呵,很早以前因为觉得Google Adsense无用,所以移除了Blog里的Google Adsense。但是前阵子大家一起在Drupal China讨论搞个Theme设计竞赛,提到经费的问题,所以今天又把以前的Google Adsense翻了出来。因为忘记了当时申请Adsense 时的Email地址,所以费了些功夫才重新在这里以及Drupla China设置好Adsense,总的来说只是想做一个测试,看看现在Adsense的效果究竟如何,如果还不错的话,等大米从国内回来以后,专门为Drupal China申请一个Adsense,可以抵消一部分网站的开支。我这儿的刚刚安装好,已经有了一个click,回报居然是 $1.44,有些ft,难道几日不见,Google的Adsense变得这么的慷慨了?或者只是一个例外,呵呵。

闲话少说,主要在这里介绍一下Drupal的Adsense模块。这个模块刚刚推出了4.7的版本,有不少比较实用的功能。上穿并启动这个模块,然后在管理->设置->adsense中可以配置这个模块。Required Parameter只有一项,是Google Adsense的Client ID,注意这个模块目前只支持 Adsense for Content,所以这里填入你的Adsense for Content即可;然后General Parameter中填入Adsense的显示控制,这个与Drupal block的显示控制一样,可以定义在那些页面上显示Adsense;再然后是Ad Type and Colors,你可以设置一组的Adsense的显示颜色以及类型(譬如文字或是图片);接下来是Custom Channels,可以定义Adsense的Channel;再下来是一个Revenue Sharing Option,如果是Group blog,可以方便的share revenue,只需在这里设置Percentage of node views going to author 以及 Percentage of node views going to user who referred the author 就可以自动在用户中分配Adsense的展示次数;最后是Advanced Options,选项包括停止Adsense,如果不显示Adsense时是否摆放Place Holder,一个页面上最多可以显示几个Adsense广告,以及是否启动Adsense的tag (这个下面会讲到)。

使用这个模块非常方便,只需要在想插入adsense广告的地方使用adsense_display()函数即可。这个函数有三个参数,第一个参数定义adsense的format(譬如120x600),如果不定义,默认值是 160x160,第二参数定义adsense的group,就是我们上面设置过的Ad Type and Color;第三个参数设置Channle,所以只要使用类似下列的语法就可以方便的插入Adsense:


你可以在新建block插入这个函数,也可以修改你的PHPTemplate,直接包括这个函数。除此以外,你还可以在写blog的时候利用便捷的tag直接插入Adsense,语法是这样的:[adsense:format:group:channel] 。譬如 [adsense:160x160:1:1],下面是一个实际的例子:

[adsense:160x160:1:1]

另外也可以使用flexiblock控制Adsense。除此以外,按照Adsense模块的默认设置,以网站的管理员身份login 浏览网站时Adsense是不会显示的(Adsense的位置会出现一个place holder,当然可以控制不显示这个holder),这主要是为了避免无意中违反Google的Adsense 政策(譬如无效展示与无效点击)等。

Blog分类: 

Druapl 4.7 使用手记 (3):灵活摆放block

Drupal 4.7 提供了更灵活的block摆放设置,除了原来的左右边栏,还可以把block摆放在页首与页尾。新的block摆放设置有一个优点与一个缺点。优点是事实上它可以把block摆放在页面(page.tpl.php)上的任何位置;确定是摆放仅限于于页面(page.tpl.php)而无法灵活的放置在node.tpl.php上,举个例子,譬如你想在每篇blog的下面通过freetagging的关联添加一个"相关blog文章"的block,利用Drupal的新的block系统,你只能把这个block摆放在评论的下面而通常所希望的评论的上面,free tags的下面,有些不方便。这里我就分别介绍一下Drupal 4.7的block的这两个优缺点,以及改进办法(以放置related nodes 为例)。

Drupal 4.7的block在设置中,除了左右侧边栏外,新添加了页首,页脚和内容三个位置的摆放,使得block的放置更为灵活。其实,block的摆放并不仅限于这三个地方,通过设置方便的PHPTemplate主题,我们可以方便的把block放在任意的地方。首先,针对left, right, content, header, 和footer这5个位置,他们对应的变量分别是 $sidebar_left, $sidebar_right, $content, $header, 和 $footer_message。也就是说在page.tpl.php中,你只要想在显示他们的地方是用 <?php print $变量名称; ?> 就可以了。譬如,你可以把 $sidebar_left 放在右边而不是左边(使用两个边栏都在右侧的外观主题)。除此以外,你还可以方便的定义自己的区域。

在你的主题文件夹里看看有没有template.php文件,如果有你需要将下面的代码添入,如果没有则需要新建一个template.php文件。在这个文件中我们将利用mytheme_regions() 来创建新的block的位置(参看Drupal使用手册的这里)。譬如你想在Drupal已有的block摆放区域外新建一个用来放Ad Sense的floater区域,只需要在template.php文件中写入以下代码:
function regional_regions() {
return array(
'floater' => t('floater'),
'left' => t('left sidebar'),
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer')
);
}
?>
注意:你需要把regional_regions()更换为 你的主题名称_regions(),譬如 pushbutton_regions()。

然后在page.tpl.php文件中,只需要在你希望显示这个新的floater区块的地方写入 即可。同时也可以方便的css文件中定义它的显示属性(譬如,float:right)。

但是这样的灵活摆放仅限于page.tpl.php,无法在node.tpl.php上使用,有时这会非常的不方便。所以为了在node上灵活的显示block,我们有两种方式,一是在node.tpl.php上加入一段php代码显示block,但是并不推荐。另外就是大名鼎鼎,异常好用的flexiblock了,原来的作者没有推出 4.7的版本,但是有人帮助升级到了4.7(这里)使用方法与以前类似,是针对node.tpl.php的,正好可以与drupal的block摆放互补不足。有了这个模块,就可以方便的摆入“related nodes”block,用free tags重现awtags的方便之处,我这里就是一个范例。:)

Blog分类: 

drupal 与 flickr 的整合:Flickr image snippet inserter 模块

呵呵,drupal每天都会有新的模块诞生,不过今天这个我觉得还是比较实用的,它整合drupal与flickr。简单的说,这个叫做Flickr image snippet inserter的模块利用Ajax技术在你发表blog的时候可以方便的插入flickr中的图片。具体的说,它在你的post的下面生成了一个边栏,显示flckr上的图片的缩略图(可以利用用户名与tag搜索),只要你一点击,这个图片的HTML代码就会被插入你的文本编辑框中。它能够:

  • search for photos based on Flickr user and / or tags without leaving the edit screen
  • photos are loaded in the background via AJAX
  • work width drupal 4.6 and 4.7
  • click on a thumbnail to automatically insert it into your post (with or without links to www.flickr.com)

这个模块是受wordpress的一个模块的启发而写的,而wordpress的这个模块则是受Flock的启发写的。呵呵,相互学习!上面的截图来自于wordpress的这个插件,因为我在drupal 4.7-beta5 上测试这个模块的时候并没有成功,提示script 错误,无法显示flicr的图片,我已经提交了bug report,希望能够解决这个问题,毕竟flickr是blog毕不可少的工具啊,继续关注这个模块:)

Blog分类: 

Drupal和无损SEO的文字转图片方案:sIFR

前几天聊到了一个把在服务器端把文字转化为图片的小trick,具体的说,譬如你在你的网站的文字设置了一种字体,但是由于访客的机器在本地没有安装这种字体,导致无法显示,所以就有一种简单的技术,把需要的字体放在服务器端,然后将使用这种字体的文字自动转化为图片,这样访客就可以正常访问了。但是fufu在评论的时候也指出这种trick比较影响SEO(搜索引擎优化)。但是,现在有一种新的技术可以更方便的实现这一功能,并且丝毫无损SEO,这就是sIRF(Scalable Inman Flash Replacement),它使用Flash和JavaScript技术利用你上传到服务器端的字体重新渲染你的文字,可以生成各种你需要的字体,hoho,譬如那天俺兴起把所有的blog都用“九叠篆”显示:)效果可以看这里,注意上面的 The Gothic Times 几个字。当然更令人振奋的是Drupal已经支持了这种技术,因为我们已经有了sIRF模块,安装了这个模块就可以简单的实现了sIRF,不过需要注意的是这个模块现在只支持 drupal 4.7 ,使用 4.7 的同志们可以试一下,我现在也到我的测试站点,显示一下“九叠篆”去:)

Blog分类: 

awtags 的一些进展

awTags 马上就要推出了新的升级版本了。这个版本不但与drupal 4.7 兼容,也向下兼容到drupal 4.5。这个版本最大的改变在于把现有的awtags模块的按照功能的不同分解为几个独立的模块。最核心的部分仍然是awtags模块,但是related tags, searching等功能将作为独立的模块出现,这样一来tag的系统就更加灵活。另外每个子模块都会有自己的block,方便摆放与显示。同时,模块对tags进行了权限设置,拥有不同权限的用户可以访问不同的tag。除了awtags及其子模块外,作者还在制作 awMaps, awGPS, awGIS和awExplore模块,详情参看[这里|http://www.autowitch.org/node/6568]。
Blog分类: 

过火的spam模块及修正

前段时间为了过滤trackback spam而开启的新版spam模块不断的滤掉评论,所以只好把trackback和spam同时关掉了。昨天想到spam模块里其实是可以定义过滤那些内容的,然后看了一下,把spam模块中“Filter comments”这个选项给勾除了,以为这样“评论”的内容就不会受到影响了,但是刚才发现,“评论”还是被砍掉了,很是纳闷,再次研究了一下设定,发现除了“Filter Trackback"这个选项外,还有一个选项--Filter Spam Url 被启动了,这个选项的解释是:

Enabling this option will tell the spam filter to treat URLs embedded within comments and other contents as a special case. When URLs that were found within known spam are found in new content, the new content is automatically considered to be spam. When this option is enabled, a single spam URL found within an otherwise spam-free posting will cause the filter to mark the new content as spam.

启动这个选项将使spam过滤器把评论以及其他内容中所包含的url作为特例。当已知spam中包含的url出现在新的内容里的时候,新的内容自动的被认为是spam。当这个选项启动的时候,在即便不是spam的内容中如果发现了一个spam url,这个内容也会被标记为spam。

以前在同时过滤评论和trackback的时候,spam模块可能已经积累了一些url的信息,所以再次启动时,这一信息再次作为过滤的依据。

不过建议drupal的网站,如果启动trackback,一定要启动spam,不然关于什么 poker和Hold em的广告每分钟几百次的朝你的站点冲击,禁止IP根本不起作用,spam来源的IP似乎是随机分布的。

Blog分类: 

基本完成改进与升级drupal 4.7的准备

基本上完成了此番的改进工作,大的变动如下: *更改了主题,换用了三栏显示; *更改了[论坛|http://www.kzeng.info/forum]的显示,无论从功能和外观上都更像PHPBB了; *损益了一些模块,修正了[feedburner|http://feeds.feedburner.com/kzeng_stupid_words]的乱码问题。 同时发现,drupal 4.6.x的主题和drupal 4.7-beta是兼容的,不需要做任何变动,常用的变量名称都没有更改,如果有人感兴趣,我可以写一个制作drupal主题的教程,做起来并不复杂,事实上任何式样都可以转化为drupal的主题。 基本上做好了升级的准备,现在欠缺的就是一些必不可少的模块的4.7版本了。 必不可少的模块: *awtags *bbcode *flexinode *flexiblock *pathauto *poormanscron *wiki 比较重要但是没有也可以凑合的: *atom *flatforum *googleanalytics *helpedit *image, image_filter, img_assit *nodewords *quote *tablemanager 这两天在[测试站点|http://test.kzeng.info]上逐一测试一下这些模块的cvs版,如果能在4.7-beta下运行,我就大算升级了:)
Blog分类: 

用来给长页面分页的模块 -- paging模块

前几天有人问到如果把长的blog分作若干页,以方便阅读,不然载入页面非常费时。在当时,并没有特别好的方法,不过幸好drupal的模块不断发展,今天新出的一款paging模块就可以很好的解决这个问题。安装这个模块,在你需要分页的地方插入:

便可以自动的分页并自动生成导航链接。被分割的页面会有类似http://www.example.org/longpage.html?chunk=2的路径,如果页面别名模块没有启动,那么路径则是: http://www.example.org/node/3/4。这个模块现在还在测试阶段,并没有推出正式的版本,所以使用的时候要注意。

Blog分类: 

Drupal最新的二十个模块

在焦急等待4.7 RC1的时候不妨关注一下Drupal一些最新的模块,检阅一下日渐强大的Drupal功能。

Export OPML: 把Drupal的book导出为OPML格式。

Export DXML: 把Drupal的book导出为DXML格式 (Drupal XML),从而实现离线编辑。

Views:允许管理者 控制Drupal内容列表的显示方式。

Export DocBook:把Drupal的book导出为DocBook XML格式。

Onlinestatus Indicator:在线 显示 功能,可以显示 即时通讯工具中好友的在线情况,现在支持 Aol, ICQ, Jabber, MSN Messenger, Yahoo! Messenger

Node Queue:管理者可以任意的将一些node归为同一组显示,便于分类显示、管理内容。

CSS:可以给任意的node方便的添加CSS属性。

Import Typepad: 将Typepad( 一个blog工具) 的内容导入Drupal

Family: 用来记录、显示和分析家谱数据。

File Utils:现在包括两个小工具: 1)计算MD5和 2)文件下载计数器

Mime Mail:一个Mime Mail组件,允许用户接受HTML邮件,并可以被其他模块使用

Ajax Spellcheck:类似Gmail拼写检查的一个模块,方便的纠正英语拼写错误

Formproc:定义Drupal中表格控制的API

Send:给所有的node类型添加一个“寄送给朋友”的功能。

Form Updater:升级以前版本模块的表格API以适应drupal 4.7的需要

Table Manager: 可以方便的按照正在使用的drupal的主题创建并显示表格

Plaze:这个模块与 plaze.com相连,用于显示最新你的用户的plaze

Comment Upload:允许访客在评论中上传附件

Click Thru Tracking: 记录跟踪访客的点击

Free Tags: 
Blog分类: