理解Drupal模块之Google

Google 是居家旅行、工作学习必备之搜索引擎,而且Google还可以给我们的网站带来收入。请看我细细道来:

Google的爬虫自不用说,不知道哪天就过来爬了你的网站,可这太依赖于运气,我们需要主动一点,向Google提交我们的网站信息帮助Google更好的索引我们的网站内容(?_? 咋就那么心甘情愿的交给Google呢)。同样Google为了方便我们提交资料,搞了个叫Sitemap的东西作为所有提交资料的规范格式。如此一说,我们对Drupal相关模块需求就了解了,我们需要一个能自动生成网站Sitemap的模块来供Google爬虫享用。

在Drupal模块页搜索”sitemap”, 首先映入眼帘的就是我们需要的那个啦 :-) 。下载、上传、启用模块不用罗嗦。Drupal Sitemap 模块中有5个功能,其中 Sitemap 是核心功能,必须滴!剩下的在仔细阅读说明后酌情启用!在51xna.com我启用了 XML sitemap engines 和 XML sitemap node 两个功能。这两个功能的用法还是蛮简单的,仔细阅读说明即可。

我们网站的资料都交给Google了,那么怎么知道网站都有哪些人来访问呢?这个问题Google也有解决方案,Google Analytics,顾名思义就是用来分析网站访问者的,如访问者的来源地、使用的浏览器、操作系统、访问页面、停留时间等等。

Drupal也有相关的模块来满足我们的这个需要,再次到Drupal模块页搜索“Analytics”,然后。。。(省略若干苦力活)在设置页面填上Google Analytics的帐号即可,其他的设置仔细阅读说明酌情操作。

最后,我们要从Google那里弄点米米养小站了。题外话,你该不是真的以为Google就是一个搜索引擎吧?其实Google是一广告机器,详细点说Google是一个跟广告有关的赚钱机器。Google Adsense 就是这部机器的关键部件之一。我们在Google Adsense上申请个账户,然后在自己的网站上提供广告位,然后Google利用你提供的广告位放广告,如果有人点击这些广告位上的广告,Google就按照专门的计算方式来给你分成,注意啦,分的是$美元。所以弄个Adsense的模块放在网站上是有必要的。

Drupal那里也有Google Adsense的相关模块(真的是要什么有什么:-))

Adsense模块的功能还挺多,有7个。AdSense core 这个是核心模块必须启用,Managed ads 管理广告滴,负责显示广告区块的后面详述,其他的功能带 old 的说明是不推荐使用的。

进入到 首页 › 管理 › 站点设置 › AdSense 有一个Publish ID,这是用来输入Google Adsense帐号的,必须滴!现在用 Managed ads 来管理广告啦。在 首页 › 管理 › 站点设置 › AdSense 中设置 Adsense Blocks,这里输入一个正整数,用来表示你准备在页面上放多少个广告位的,先设置一个练练手。这时在 首页 › 管理 › 站点构建 › 区块 中就可以看到一个AdSense: unconfigured 0 的待设置的区块,在配置选项中配置好相应的设置以后,把这个区块放到某个地方,保存收工!

现在网站就变成了自动提交资料到Google等搜索引擎、可分析网站访问信息、以及放置广告位收费半赚钱的机器了,那一半呢?当然是网站内容和用户来贡献的咯!

最后来句广告:tairan.net也放置了Google Adsense广告位!

EOF


理解Drupal模块之Book

在选择模块之前,要先弄清楚自己需要一个什么样的功能,然后再去找有没有合适的模块来实现自己所要功能。

那么我想要一个什么样的功能呢?

我需要在网站上转载一些别人的连载文章,一个系列的连载作为一篇完整的文章,系列连载的每个部分就如同书中的章节一样,有着上下文的关系。这样,从我的需求来看,一个制作书籍内容的模块就比较适合我。

需求确定了,开始找可以满足需求的模块。^_^ 可喜的是 Drupal 本身就内置了一个Book模块,在中文版里翻译为“手册”。

Book 模块使用还是比较简单的,像添加一条Story一样添加好标题和内容后,然后需要额外操作就是编辑“手册纲要”( 中文版的翻译)。在“手册纲要”部分有两个选项,一个是手册,另一个是权重。

“手册”,可以把它理解成为一本书的书名,如果书名不存在则选择“创建一个新的手册”,否则选择一个已经存在的书名。当选择创建一个新手册的时候,当前文章的标题就会成为这个手册的名称,也就是书名。

权重,就是在同级别的书本中,权重越大,那么在排序的时候就会排的越靠前。

到此,剩下的工作就是添加文章了,体力活o(∩_∩)o…哈哈!~ 大家如果想看我的劳动成果请到这里www.51XNA.com

EOF


近距离Drupal概览

面对国内用户,中文是必须的,因此需要安装中文语言包,目前6.x版本的中文语言包做的不错,下载后直接解压到drupal文件根目录即可。我是在使用drupal安装脚本配置之前就将中文语言包放到drupal所在的文件目录的,这样开始使用drupal安装脚本配置的时候会提示配置中文的。

Drupal 支持主题(Theme)和模块插件(Module),如此一来给网站换马甲和增加武器装备就变得容易。

如果你浏览了Drupal的主题和模块下载页面,你一定会惊讶主题和模块的种类是如此的多。挑一个喜欢的,实用的下载后分别解压到 drupal/sites/all/{theme,modules}目录下,如果这两个目录没有先创建。把主题和模块放在这里是推荐设置,顾名思义,这是对所有site生效的设置(Drupal支持同一程序下多个站点)。当然如果非要放到Drupal核心模块和主题那里也是可以的,只是不推荐而已。

在确定网站需要的功能后先到module下载页找找,实在没有的话就自己写,如果自己写的还有其他人需要的,再反馈给drupal社区,良性循环!

这是我对Drupal的第一次仔细观察的印象,之前也安装了几次,一直就没仔细瞧过,惭愧。

参考:

EOF


Drupal

Drupal是一个出色的开源CMS系统,Whithouse也在使用。
现在把我今天配置Drupal的时候遇到一些问题以及解决办法记录在此,备查。

软件版本信息
Windows7
IIS7 + FastCGI
php-5.3.1-nts-Win32-VC9-x86
drupal-6.14

在PHP官方文档中提供了IIS7如何使用FastCGI配置PHP,需要注意的是当启用php.ini-development作为php.ini配置环境时,在CGI部分默认的是无法工作的,需要做如下修改

cgi.force_redirect = 1
cgi.nph = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 0
fastcgi.logging = 1
cgi.rfc2616_headers = 0

在php.ini文件中需要启用的 extension

extension=php_gd2.dll    ;用来画图
extension=php_mbstring.dll   ;多语言支持
extension=php_mysql.dll    ;连接MySQL
extension=php_pdo_mysql.dll    ;使用PDO的方式连接MySQL,非Drupal必须
extension=php_sqlite3.dll    ;连接sqlite3,非Drupal必须
extension=php_xmlrpc.dll    ;xmlprc实现接口,非Drupal必须

使用PHP5.3会有遇到 Function ereg() is deprecated Error 在询问了万能的Google后并参考这篇文章Function ereg() is deprecated Error 错误对策,使用文章中提到的最后一种办法来解决这个问题:
在 drupal\includes\file.inc 第 902 行

//elseif ($depth >= $min_depth && ereg($mask, $file)) {
elseif ($depth >= $min_depth && preg_match('/'.$mask.'/', $file)) {

默认的php.ini-development还会遇到一个时区(date.timezone)的问题需要修改php.ini

[Date]
date.timezone = "Asia/Shanghai"

另外还遇到一个Drupal设置的问题,default.settings.php 文件是不能删除的,至少在安装过程中需要,因为配置程序会读这个文件。

以上就是今天安装Drupal的一些总结,接下来再仔细研究如何在Drupal上做二次的开发。我就不信开源的程序搞不出符合国情的站点。

EOF