Drupal

关于Drupal的安装、使用、问题、修改等的讨论。也是目前唯一的Drupal中文交流论坛。

第一篇用Word 2007发布的blog

安装了word 2007 beta 2, 体会一下它的桌面blog发布功能。就设置而言,虽然不如Zoundry方便,但是也不难,word 首选支持的当然是 MSN Space以及时下流行的几种blog服务提供网站,譬如 blogger.com 等,对于其他的blog 工具的支持很有限,譬如它并不支持非常的流行的 MovableType的API,所以我只好把我的Drupal的blog API 设置为了 MetaWeblog ,因为现在还没有发布,所以不知道发布的过程是怎样的,不过就设置而言,选好blog 发布的API,然后输入你的 xmlrpc.php 的地址就可以了。总的来说,微软的word 2007 对blog 的发布功能的支持还很弱,因为很多东西它都不支持(譬如分类,tag,trackback等),但是这毕竟是一个测试版,希望正式版会好一些。呵呵,我要发布这篇blog了,看看发布的过程怎样:)

后记

发布的速度很快,可惜日期是不对的,居然显示的日期是2005年12月05日,据说wordpress下也有这个问题。

Blog分类: 

用Drupal搭建组织网站(2)

我们继续以 http://www.dogsbreedweb.com 为例讨论如何用Drupal搭建一个组织团体的网站。由于Drupal很多基本设置是相同的,即使你因为别的目的使用Drupal,也可以通过这个系列的讨论加深对Drupal使用的了解。上次我们讨论了的用户角色的设定,这次从最基本的网站设定开始。

首先是基本设定。进入 管理->设置, 在"通用设置"中你可以加入你的站点的名称,口号等诸多信息,同时也可以设置匿名用户的名称等。除此以外,在Drupal 4.7的正式版本中对"简洁链接"(Clean Url)的设定作了新的改进,你必须先点击运行一个测试程序才能确定你的空间是否支持简洁链接,然后才能启动它。

设置完通用设置以后,你的网站已经可以正常运行了。下面讲讲如何导入汉化。首先要到Drupal的翻译下载中,下载Drupal 4.7的汉化文件,在本地解压。然后进入 管理-〉本地化(Localization),通过"add language"添加简体中文,然后点击"导入"(Import),将刚才解压的汉化文件导入"简体中文"语言中即可。有时由于服务器端PHP的设置限制了最大可上传文件的大小,无法一次完成上传,如果发生了这样的问题,可以到Drupal China下载没有合并的小型汉化文件并逐一上传。

完成了汉化以后,Drupal使用起来就顺手多了,因为很多地方都有必要的帮助。从下一篇帖子开始讨论一下Drupal的必要的各种模块,包括如何使用模块来进行搜索引擎优化(SEO)以及快速让Google收录你的网站等等。

Blog分类: 

Drupal的外观主题设计(3):Foundation Theme - Header部分的摆放

header_css.gif继续关于Drupal主题设计的讨论,讲一讲Drupal的Header部分的三个元素(Logo, Site-Name 和Site-Slogan)的摆放。如果你对CSS不是很熟悉,希望这对你有所帮助;如果你是CSS的高手,希望你能提出改进的意见:)

通常,我们会需要Logo, Site-Name 和 Site-Slogan 按照左图的结构摆放:把Logo放在最左边,然后Site-Name与Site-Slogan并列。在过去,这个通常使用table来实现,只要定义一个类似形状的table,把元素放进去就可以了,但是根据现在网站设计的标准,我们需要使用CSS来控制完成。首先需要将Logo图片放在左边,这个可以通过以下CSS定义实现:

.logo { display:inline; float:left}

当然你还可以放入其他的定义,譬如logo图片的长宽定义,以及border属性等等。对于SITE-NAME与SITE-SLOGAN,按照如下定义即可:

.site-name {position: abosolute; top: 20px}
.site-slogan {position:absolute; top: 50px}


通过绝对位置来控制site-name与site-slogan的显示,top 定义的px的多少可以根据你的具体主题来调整,另外在使用中,你还需要用 font-size 来定义它们的字体的大小。这样就完成了,Header部分三个元素的设置,其实很简单的。

同时Foundation Theme也为我们提供了模板文件的构造,可以按照它方便更改其他的模版文件,譬如我在 http://www.dogbreedsweb.com 使用的模版,默认是不显示logo的,参照Foundation Theme,可以很方便的加入Logo显示的支持,只需要加入插入 $logo 的那段语法即可。下图是一个按照上述方法完成的Header部分的示例:

dogbreedsheader.jpg

以及相关的CSS定义:

.site-name {position:absolute;top:15px;padding-left: 15px;display:inline;font-size: 2em;}
.site-slogan {position:absolute;top:55px;padding-left:15px;display:inline;font-size:1.2em;}
.site-logo{margin:0;display:inline;float:left;}

Blog分类: 

用Drupal搭建组织网站(1)

dogbreedsweb.png使用Drupal以来尝试着用Drupal搭建过blog(譬如我的blog)以及社区网站(譬如Drupal China),但是还没有搭建过组织或是中小型公司的网站,所以一直想试一下。正好刚刚在Drupal China开设了Drupal应用讨论区,而原来也答应过一个朋友帮他搭建一个关于宠物狗的网站(其实我也想过为我家蛋花搭建一个宠物猫的网站,这样蛋花就可以向胖胖吹嘘了),一直也没有来得及做,所以现在正好从头开始做这个网站,同时留下搭建的笔记,可以和诸位Drupal的fans们交流一下经验,我努力写的详细些,顺便介绍一下Drupal 4.7的新的特点。

Drupal的安装过程先略去不讲了。直接从安装过后开始创建第一个用户开始。这个用户将会是网站的管理员。Drupal 4.7更改了重设密码的方法,所以现在不用担心有人会恶作剧不定的发送重设密码的请求了。设置完管理员以后,通常为了安全起见,可以再设定一个平常使用的用户名,这与Linux下尽量避免直接使用root登入系统类似,主要是防止无意对系统的破坏。如果打算设置这样一个用户,可以直接以管理员身份登入,在管理->用户 中添加新的用户,譬如这里我新建了一个叫做 dog lover 的用户,你可以直接指定邮箱与密码。然后再给这个用户相应的权限。

通常我们通过用户角色来控制用户的权限。Drupal默认的用户角色有两个,一个是"匿名用户",一个是"注册用户"。dog lover应该有更大的权限(譬如发布新闻),所以我们给他新建一个角色,譬如 "管理员"。进入 管理->访问控制,点击"角色"标签,添加这个新的角色。并在"权限(permission)"标签下为这个角色设定权限。这样一个新的用户的设置就完成了。同时通过角色的创建与设置,你还可以给不同的用户以不同的权限,譬如你的网站有论坛,那么可以在这里设置论坛的版主,但是这样设置的是超级版主因为他对任意一个讨论区的帖子都有更改删除的权限,如果想具体设置某个讨论区的版主,那么我们需要使用 Taxonom Access 模块,这个以后我们会讲到。

Blog分类: 

Drupal的外观主题设计(2):Foundation Theme - Header部分

<

p>

OK,我们继续研究Drupal的Theme。各位同学手上都有Foundation Theme了,现在我们要解剖这个Theme:把它的CSS Class的脉络搞清楚,这对主题的设计非常有用处,所以我们从page.tpl.phpHeader部分开始,page.tpl.php主要由三个div组成,下面是 Header部分的结构图(见下图),"."表示是class 名称,"#" 表示是ID 名称,你可能注意到了这个神秘的$layout变量,它对于纯粹的div 主题设计非常有用处,它的用处我们会在随后的几讲中阐述。

点击观看大图

Blog分类: 

Drupal外观主题设计(1):超级简明教程

本教程突出两个特点:1)超级;2)简明。所谓超级,就是说你不需要任何关于PHP或是Drupal编程的知识;所谓简明,从这一句起我不再说废话:)使用本教程之前,请准备三样东西:

  1. 空白的Drupal主题,也就是Foundation Theme,可以在这里下载zip文件。这个主题定义了所有的CSS式样,但是它Style.css是空白的,方便你填补。
  2. Firefox 浏览器;

    <script type="text/javascript">

    </script>
    <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>

  3. Firefox的Web Developer插件

第一步,把空白的Foundation Theme的zip文件解压,放在一个名字叫做example的文件夹中(文件夹可以任意命名),然后上传到你的Drupal的Themes目录下,用安装了Web Developer插件的Firefox浏览器打开你的网站(最好是测试网站),在管理-〉主题中启用这个叫做example的主题,如果是你的正式网站,那么在你的个人账户中把主题设置为example,这样并不影响访客正常访问的你的网站。保存设置后你可以看到下图:

theme_tutorial_1.jpg

这个主题是不是苍白得可爱?现在开始动手美化它。ctrl+shift+e 打开Web Developer的CSS编辑侧边栏,选择编辑 style.css 文件,现在你可以任意的添加CSS属性并立即看到效果。使用Web Developer 工具栏(这个工具栏默认是显示的,如果没有显示,在Firefox的工具栏上点击右键选择显示)中Information中的 Display Div Order,可以清楚的看到各个Div的class与摆放,现通过float属性把 Header, Container(包括sidebar与page,利用float属性调整), Footer三个主要div摆顺(见下图):

theme_tutorial_2.jpg

其实如果不显示div的信息,这个主题已经初具雏形了。再往下只需要再稍微改动一下,一个新鲜的主题就出炉了。至于改动的一般经验(譬如一些常用的CSS设置,将在后面的进阶教程中讲到,但是如果你熟悉CSS,到这里已经足够用了)最后要注意改完 style.css 以后一定要保存下来,替换你上传到 /themes/example/ 路径下的style.css 文件。

Blog分类: 

CMS 的战争

CMSWar.png很久以前写过一篇帖子,说Mambo死了,现在看来Mambo真的死了,从Johnsen那里看到了这幅通过Alexa统计的几个主要的CMS(Content Management System)工具的最近三个月网站日浏览的统计,这份统计包括Drupal, Joomla, Mambo, Xoops 和 Typo3,很明显可以看出曾经的CMS老大Xoops已经式微,Mambo在变故之后半死不活,Typo3一直都名声平平 (不知道Typo3与Typo是什么关系,Typo是基于Ruby on Rails的blog系统,有着非常kool的ajax应用,正准备搭一个Typo看看)而相比较而言,Joomla与Drupal却变得越来越popular,四月中的那次飞跃估计与Drupal 4.7的最终推出关系比较大。当然这只是对于各个CMS的流行程度的一个估测值,会有这样那样的bias,譬如可能因为是Drupal的安装使用过于复杂所以用户才不断的到Drupal.org上去问问题,导致Drupal的网站页面访问上升,而Xoops因为发展历史很长,并且使用简单,所以用户在下载安装之后不用经常的去Xoops的网站寻求帮助(呵呵,GRE逻辑题)。但是不管怎样这份Alexa的Pageviews的统计还是能给我们指一指CMS的流行风向:)

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分类: 

一个不错的主题设计辅助工具:Color Schemer Studio

studio_screen_main.png制作与调整Drupal的外观主题,比较麻烦的是色彩的选配。艺术家们可能一眼就可以看出来完美的色彩搭配,可是对于我们这些业余玩家来说,找到合适的配色是一个难题,通常的做法只能是在网上看到比较好的配色方案之后,赶紧掏出个小本子记录下来,或者用一些大型工具的附带功能(譬如Dreamweaver),但是都比较受限制,今天发现了一个比较有用的工具:Color Schemer Studio,它可以方便的帮助你配色,告诉你哪些颜色搭配比较好看,同时它还有很多有用的工具,譬如Color Scheme Analyzer,告诉你用某个特定的颜色做背景时应该选举哪些颜色做文字;譬如Quick Preview Windows,可以方便的察看某个配色方案在网页中的现实效果;譬如Screen Color Picker,方便你选取屏幕上的颜色,非常的精确。呵呵,是一个不错外观主题的帮制作手,推荐一下。

Blog分类: 

升级到Drupal 4.7 RC 4

第一个感觉就是速度快了很多,呵呵,也有不少人提到这一点,应该不是幻觉:)从RC2升级到RC4,数据库没有变动,只用替换文件就可以了,所以挺方便的。希望这是最后一个RC,不要再跳票了。呵呵,这阵子Drupal China的人气越来越足,实在让人高兴。虽然Drupal非常灵活易用,但是入门的门槛似乎稍微高了一下,因为有许多专有的名词,刚刚接触可能会有些不太习惯,所以打算再重新写一个Drupal 4.7的入门教程,方便大家选用这个super cool的CMS:)

Blog分类: