24
十二/08
5

drupal建站流程



使用drupal做了三个站点,大体总结了一些drupal的建站流程。

1.内容类型。内容站点通常具有很多的内容类型,比如旅游站点的旅游咨询,新闻系统的文章等等,具有自己特有的字段。drupal内置有story和page内容类型,但这个是最基本的,不能提供所有的功能给我们使用。我们完全可以手动创建一个新的内容类型,定义该内容类型的创建,显示,编辑表单以及数据处理流程。但更好的方式是使用CCK模块来创建,完全傻瓜化,并且定制性不错。cck模块有很多的子模块,比如cck imagefield,可以让我们添加一个图片上传的字段,用于显示文章的图片。比如我们创建一个news类型,使用cck创建几个字段如下(title和body默认已经有了):新闻图片(imagefield类型),新闻地点(textfield类型)等等。字段创建好后可以调整各自的权重(weight),以便调整显示的顺序,另外可以用cck group对这些额外的字段分组,这样在表单中会根据你的分组进行分组显示,方便字段的管理。显示方面,可以在cck的管理中设置一些选项,比如imagefield图片的链接,和提示标签是否显示在同一行还是分行显示等等。最后我们可以定制该节点类型的模板,node-news.tpl.php,该文件的内容可以从node.tpl.php中拷贝过来,根据自己的需要加以修改。总之cck是drupal很强大的一个模块,使用好它可以轻松的创建和管理站内所有的节点类型。

2.词汇表。drupal的词汇表负责对节点进行分类和标记。比如我们针对新闻添加“新闻类别”这样的分类,其中包括娱乐新闻,体育新闻,科技新闻等等,我们就可以创建一个词汇表,新闻类别,然后将该词汇表绑定到新闻节点类型上,这样创建新闻这个节点类型的时候就能看到该词汇表的表单属性。在该词汇表中创建术语,比如上面提到的娱乐新闻。。。我们还可以创建另外的词汇表和术语,对节点进行另外一个角度的分类,比如我们可以创建词汇表新闻时间,有早间新闻,晚间新闻等等术语。总之,可以利用词汇表和术语对节点进行更好的划分,方便节点的索引和查找归类。

3.模板。drupal站点有很多现成的主题系统提供下载,如果要完全自己定制就要花一些功夫了。上面提到了特定的节点类型可以自定义模板node-newnodetype.tpl.php,另外block和page都有相应的模板覆写机制,配合主题函数的覆写顺序知识,几乎可以对drupal站点中所有的页面、表单、区块等进行定制。当然,前提是使用好template.php文件,这个部分美工接触比较多,但我们也要懂得drupal的模板机制,用好它,丰富你的站点页面和用户体验。

4.模块。以上都准备好了,如果我们有自己特殊的功能drupal没有自带,可以去官方或者专门的drupal站点查找该类应用的模块,一般来说,大部分功能都有模块支持了,毕竟drupal社区有好几千第三方模块供使用。不过如果我们有充足的时间,这些第三方模块还是自己亲自看看,以免有这样那样的问题。最后如果找不到特别适合自己的模块,只能自己进行开发了,drupal模块开发已经有很多文档介绍了,只要符合drupal的开发风格和一些约定就可以了。再者就是对第三方模块进行汉化。大部分模块都是没有中文包的,这就需要我们自己进行汉化,如果E文水平不错,还可以翻译后放到社区和别人共享,开源精神。drupal有个汉化工具,可以在官网下载获得。然后执行该php脚本,即可生成模块文件(module文件)的汉化包(po文件),然后我们就可以使用poedit之类的翻译工具进行汉化了。完成汉化工作后在管理后台,本地化管理选项可以将我们汉化的po文件导入到drupal系统中。

最后,想用好drupal,唯一的方法就是多看一些好用的模块,其中必然涉及到很多drupal的相关应用。


相关文章

关键字: ,
评论 (5) Trackbacks (0)
  1. spycing
    13:17 on 十二月 27th, 2008

    呵呵,好文章啊!!!

  2. terrysco
    12:08 on 一月 17th, 2009

    呵呵,一点自己的经验总结。

  3. andprd
    01:07 on 一月 19th, 2009

    我现在已经能用drupal搭建一个小型的cms了,但模块还是弄不太明白怎么开发的。

  4. terrysco
    16:44 on 一月 19th, 2009

    网上有个中文的文档,你可以参考下。

  5. yy
    20:42 on 五月 29th, 2011

    node-news.tpl.php这个文件放到哪个文件夹中?如何调用?我对这个不怎么理解,还听说一个钩子的东西,也不怎么理解,不知道如何用,希望你能给我讲一下

发表评论

No trackbacks yet.