前言

读者——本书写给谁

读者 为谁而写? *如果你的开发主管每天喋喋不休的在你的耳边念叨着“Drupal”这个东西,同时你很想知道他到底在说些什么,那么这本书就是为你而写了。 *如果你的老板走近你,对你说, “我们需要快速建立一个网站,需要实现XX功能。” XX “是个图片库,或是个产品展示站或电子商务网站,或任何本书包含的其他项目,那么,这本书是写给你的。 *如果你已经对Drupal有所了解,但是面对大量的模块,还是不免感到崩溃,想知道哪个是值得一试的话,那么,这本书是写给你的。 *如果自认为已精通Drupal,但你想了解更多的神秘模块以开阔你的视野,想了解最佳应用以建设强大的Drupal网站,那么,这本书是写给你的。 如果你是第一次建立基于WEB代码的网站,这本书可能不适合您。我们写作时已经假设你对PHP, FTP, URL,ZIP, 和HTML有基本的认识。同样,如果您对Drupal API功能的具体细节和内核比较感兴趣,这本书不适合你:我们的工作重点是对现有的模块组合应用,发挥功效,而不是创造新的模块。 如果你介于菜鸟和老鸟之间,我们期望本书为你在利用Drupal建立网站时提供宝贵参考。

使用本书的前提

使用本书的前提 您需要一台能够运行PHP ,web server( 首选Apache)和数据库( 推荐MySQL)的计算机或者服务器 。本地开发测试,可以下载安装集Apache/MySQL/PHP所有功能于一身的包,如适用于windows的WAMP(http://www.wampserver.com ),适用于Macs的MAMP(http://www.mamp.info )。 访问http://drupal.org/hosting可以知道支持Drupal的主机服务商,访问http://drupal.org/requirements阅读更多关于Drupal的系统要求。 您当然还需要安装Drupal,那些操作章节是假设你使用了本书的源代码的。附录A提供了一些基本说明,但是如果你遇到麻烦或想了解更详细的说明,请参阅安装Drupal 6指南 http://drupal.org/getting-started/6/install 。如果您没有使用本书提供的源代码,附录C列出了本书各章节所用到的模块和主题,你可以重新自己创建。

关于书中模块的说明

Drupal在不断变化,其基于社区推动的模块世界同样在不断变化着。随着时间的推移,本书中提供的那些模块版本,在官方网站(www.drupal.org)是不断更新变化的。这些变化有时候不会一下影响到对模块的使用,但有时候会。在很多章节里,操作部分的说明可以适用很长的一段时间,因为其版本的变化很小。在你认真学习本书并且去操练过这些模块的配置后,即使有些模块的用户界面发生了变化,你自己已经能够摸索使用这些模块了。在这些专门的操作“菜谱”之外,你将会学习很多的关于模块的技巧并且能最好的去应用它们。 同时请记住,那些讨论模块特征和比较模块的重点内容以及出现在附录B中有关模块评估的内容,为你自己评价模块打下了很好的基础。当新的模块诞生时,你可以自己做出比较和使用决定。本书不光是个使用指南同时也是一个你掌握drupal项目世界的跳板。

内容及结构

       除了一开始的几个基础性章节,本书按照一种菜谱式的方法来组织内容,每个“菜谱”包含以下结构:

       概述

       概述对章节中所涉及模块作简单介绍,同时明确章节的主要目标。

       案例分析

       案例分析部分假想一个客户,他想做包含如下需求的网站,如wiki网站,产品说明网站或者图库网站。首先对客户做简单的背景介绍,然后详细的讲述客户的特殊需求。

       实施说明

       这里我们主要讨论我们将使用哪种drupal解决方案来满足客户的需求,详细说明我们选择哪些模块和为什么选择这些模块。通过比较分析来说明我们为什么倾向于模块A而放弃模块B。

       剖析

       每章介绍一个到多个模块或drupal概念。剖析部分对每个模块的作用方式和特点做一个鸟瞰式的观察。就像研究“样品”缩影一样来展示模块的特征和功能。

       操作

       介绍完模块一般情况下可以实现的功能后,操作部分将会按部就班的让你按照“食谱”来亲自烹饪以满足客户的胃口。

       更进一步

       有很多的扩展模块能够被用来增强某一案例应用的功能,本部分就是要告诉你怎样来运用它们以加强操作部分所提模块的功能。

        小结

        回顾总结一下这一章节所学习内容,提供模块连接和其他学习资料的连接,以获取进一步的信息。

        下面是本书的章节。其中前面三章对于初次接触drupal者是必读内容。其他章节则需要你已经对drupal,Views和CCK等模块有基本认识。用过drupal 5而没用过drupal 6的筒子,可以跳过部分章节(特别是第三章,因为VIEWS在drupal 6中作了很大的变化)。

        第一章,了解drupal

        本章回答几个“必知”问题:drupal是什么?谁在用drupal?为什么用drupal?它如何运行?同时告诉你一些drupal的历史背景,以及其基本术语,和一切其他你急迫想知道的东西。

        第二章,开始drupal

        本章将实打实的开始drupal的第一个操作练习,这里将告诉你如何用drupal的几个核心功能和一些免费公共模块来建立一个基本的商业网站。看完本章,你将会对drupal的后台管理比较熟悉,同时也将学会通过一些包含FCKeditor和IMCE等模块的WYSIWYG(所见即所得)界面来发布内容。我们也将会在这里讨论一些drupal模块,这些模块有助于你处理一些不可避免的弊病,比如Mollom。

        第三章,求职发布网站

        本章将通过构建一个求职信息发布网站来介绍CCK和VIEWS这两个模块。看完本章,你将学会如何去创建自己的内容类型(content type)和如何添加表单区域(form field),同时也将学会如何汇集站内所有的各式内容。以上都是本书其他章节的基础。

        第四章,产品评论网站

        本章将建立一个产品评论社区网站,运用到Amazon模块中的产品数据,Voting API 和五星模块(fivestar module)评价工具。

        第五章,Wiki网站

        本章将介绍几个在drupal中建立Wiki网站的工具,及其他应用。如版本系统(The node revisions system )(与 Diff module区别模块同时使用), 用于创建简易HTML主题的Markdown filter, 用于自动创立wiki页面的Freelinking模块,以及自动创立更适于搜索引擎的连接URLs。

        第六章,发布流程管理

        本章将讨论利用Actions系统和Workflow模块来部署自己的发布流程以及利用Views的批量操作和Workspace模块来创立自己的管理界面。

        第七章,图库网站

        本章将告诉你通过ImageField模块来建立一个家庭相册簿网站,同时使用ImageCache自动生成缩略图。
     
         第八章,多语言站点

         本章将介绍通过使用Locale,内容翻译(Content Translation)及其他一系列国际化模块来建立一个多语言站点。

         第九章,事件管理

         本章讨论如何在drupal中进行事件管理,通过日期和日历模块(Date and Calendar module)来保存和显示事件信息。利用标记模块(Flag Module)来跟踪来访者。

         第十章,网上商店

         利用强大的Ubercart模块系列建立一个T-Shirt网上商店,包含购物车、产品目录以及支付流程等特征。

         第十一章,制作主题

         本章介绍Drupal的主题系统和一些如何改变网站外观的基本技巧 。通过阅读本章,你就可以开始修改模板文件,并给你的drupal网站用上自己的外观!

         附录A,Drupal的安装和升级

         如果你是个新的Drupalor,本附录内容将会引导你学会安装drupal和升级drupal。

         附录B,选择模块

         建立Drupal网站经常会遇到的一个困难就是评估模块。本附录为你提供一整套的策略和技巧来搞清楚哪些模块你需要用在你的站点上。

         附录C,本书使用模块和主题列表

本书体例

       书中用到以下排版体例:

       斜体,显示文件名,目录,新词汇,urls和强调文字。

       等宽字,表示代码,文件内容,命令行,和命令输出结果。

     tip

这标志着是一个提示,建议或一般性说明。
 

 

warning警告和提示标志。

 

        drupal页面的导航如下:

        Administer→Site building→Modules (admin/build/modules)。

        这指示着你通过点击Administer进入导航区块,然后是站点建设(Site building),然后是模块(Modules)。当然为了快捷起见,可以在浏览器的地址栏里直接输入以上括号中的路径,如:http://www.example.com/admin/build/modules。

演示代码的使用说明

       本书在这里帮助你完成任务,一般情况下,你可以在你的程序和文件中使用书中的代码。

       所有Drupal代码,包括通过O’Reilly网站(后面马上要提到)取得的Drupal 6代码,都是遵守GNU通用公共许可证的第2版授权许可。您使用Drupal代码,包括复制,修改,和发布,都需要遵循以上许可。此外, “ Drupal ”是一个由drupal创始人Dries Buytaert取得的注册商标。有关对代码使用和商标使用的更多信息可以在Drupal网站( http://drupal.org )看到,同时,你还可以找到有关GNU通用公共许可证如何影响到你对代码的使用的一些信息。欲了解更多有关许可证的内容可以登陆http://www.gnu.org/licenses/old-licenses/gpl-2.0.html #SEC3 。
       至于书中其它演示代码,你不需要取得授权,除非你复制了大量的非drupal代码。比如,用其中一些写一个程序,不需要许可,销售或发布一个O’Reilly演示CD需要许可。引述书本内容和书中演示代码来回答一些问题不需要许可,但把书中大量的演示代码放入你公司产品的文档中则需要取得许可。
      我们欢迎但不要求(你引用演示代码时)写明归属。归属通常包括标题,作者,出版者和书号(ISBN)。例如: “Using Drupal by Angela Byron, Heather Berry, Nathan Haug, Jeff Eaton, James Walker, and Jeff Robbins. Copyright 2009 Angela Byron, Heather Berry, Nathan Haug, Jeff Eaton, James Walker, and Jeff Robbins,978-0-596-51580-5.”
       如果你认为你对演示代码的使用超出合理使用或以上权限,请随时与我们联系permissions@oreilly.com 。

 

Drupal 6 下载

       从本书站点可以下载Drupal 6副本和书中所有模块以及每个操作章节中演示站点的主题(http://usingdrupal.com/source_code)。每个操作章节也有一个“安装配置文件” (一套默认配置的初始脚本)。这些文件为每一操作章节引导建立初始站点。这些文件可能在开始安装Drupal 时选用,例如,“第4章:求职发布 ”。

       用相同的源代码在不同章节里切换操作演示需要(为每一个演示)建立新的站点。你也可以采取以下步骤从而使麻烦减至最小:

       1、为每章的Drupal安装创立新的数据库,或者删除然后重建既存的数据库;

       2、复制sites/default/default.settings.php 到 sites/default/settings.php, 覆盖原来的settings.php 文件;
       3、改写文件权限至可写 sites/default/settings.php;
       4、通过 http://www.example.com/install.php重装

       附录A里有更多的关于Drupal安装的信息。
       除了配置一些基本的设置,如网站名称、主题等等之外
上,这些安装配置文件(除第2章)还设定了下列用户:
       用户名:admin,密码: oreilly
       第一个用户,角色是“网站管理员”;可以在网站上做所以的事情
       用户名:editor,密码: oreilly
       “编辑”角色,用于那些要求更高用户权限的章节
       用户名:user,密码: oreilly
       为普通的“认证用户”

       正是这些用户的章节提及的指示时,参考的登录
“编辑”用户,或类似的。除另有规定外,假定步骤完成
作为“管理员”用户。

       除了章节中特别指明是“editor”或其他角色登陆外,一般都是以“admin”用户,即管理员身份来完成的。

Safari在线书架

       当你在你心仪的技术类书本上看到Safari®Books Online图标时,这意味着你同时可以在O’Reilly  Safari 在线书架上读到它。

       Safari是一个虚拟图书馆,比一般的E-book还要好用。在里面,你可以很轻松的搜索到成百上千的顶级技术类图书,剪切和粘贴里面的演示代码,下载章节,并且通过问答还可以得到最精确最及时的信息。免费试用:http://safari.oreilly.com。

提问和评议

       关于本书,随时欢迎你们通过以下方式向我们出版商提出问题或发表评议:

        O’Reilly Media, Inc.
        1005 Gravenstein Highway North
        Sebastopol, CA 95472
        800-998-9938 (美国/加拿大)
        707-829-0515 (全球)
        707-829-0104 (传真)

        我们为本书建立了一个网页,里面包含勘误表,演示和其他一些信息。访问地址:http://www.oreilly.com/catalog/9780596515805

        评议或者技术类咨询请E-Mail:bookquestions@oreilly.com

        更多请访问 http://www.oreilly.com

致谢

       Lullabot小组要感谢我们的技术评论 Robert Douglass, Ajay Gallewale, Jeffrey MacGuire, David Moore, 和 Matt Westgate。感谢O’Reilly的Tatiana Apandi 和Julie Steele  , 她们帮助我们完成本书的集体创作。我们同样要感谢我们的商业伙伴Liza Kindred, Haley Scarpino, 和 Tim McDorman,促我们按照计划来推进我们的工程直至最后完成。感谢Jeff Eaton 为我们提供图库章节的图片。还有,我们要感谢Lullabot’s Kent Bye 在VIEWS模块中有关可视化MOJO的努力,感谢John VanDyk对书中很多大章节的有益反馈。特别感谢Ivan Zugec非常大方的把他的域名http://usingdrupal.com转让于我们。当让我们更要感谢Drupal的创始者Dries Buytaert,没有他,这一切都无从谈起。

       Angela Byron首先要对他的妻子Marci McKay大声的说一声“谢谢!”。她以极大的耐性忍受了这一个个深夜,并对Angie的Drupal狂热予以莫大的容忍甚至于支持。同时也要感谢她的家人特别是她妈和她爸,Jeanne 和 Mike, 还有她的兄弟Keith and Sara,感谢他们对此次编写工作的支持。还要感谢John Wait
和Debra Williams-Cauley,她们的参与让Angela实现了写书的愿望。感谢Michelle Cox 和 Matthew Harrison 对本书大纲的前期审查。感谢Moshe Weitzman, Brandon Bergren, 和Dries Buytaert对前期版本一些章节的技术评议, 特别感谢Dries的全心投入和始终支持。

      

       Addison Berry要感谢她的伴侣Colleen McGraw。是他牺牲了周末,处理了撂下的家务,并鼓舞着生活在起起落落中前行。要感谢Richard Burford, Alex Dergachev, Joel Farris, Jay McDonald, Don Palmer, Jose Reyero, 和Brian Vuyk。他们对她的章节给予了慷慨的反馈。感谢Wim Leers提供了急需的荷兰语翻译。整个Drupal社区为她的Drupal之旅和本书写作提供了莫大的支持。没有他们,就不会有这些。最后,她要感谢她的父母亲, Joan 和 Merlin Berry, 感谢他们为她所做的一切以及对她从未丧失的信心。

       Nathan Haug 要感谢他的父母亲James和Aleda Haug, 以及他的爷爷Tom Arnberg。感谢他的技术评论David Moore和John VanDyk。特别感谢Drupal平台和模块的所有作者。还要感谢Earl Miles 对 Views模块和Jonathan Chaffer,Karen Stevenson, 以及 Yves Chedemois 对 CCK所做的贡献. 要没有这些个人所做的努力Drupal平台不会像今天这么吸引人。

Jeff Eaton要感谢他的妻子Catherine, 感谢她的耐心和鼓励.在模块的测试、故障的排除以及整个工程完成过程中,始终伴随着她特意准备好的浪漫的餐宴和令人开怀的幽默. 感谢Doug Green, Earl Miles, 和其他的无数Drupal社区成员所做的良好反馈以及他们指出的很多容易困扰新手的复杂问题。感谢Jason Scott 和 Jeff Benson的无数个起早摸黑的关注, 感谢Jeff的父母 Doug 和 Cindi,十多年来对自己的冒险和追求的支持。

       James Walker 要感谢他的两个孩子Andrew和Camryn,感谢他们对他的爱,对他的耐心,感谢他们对自己不能陪他们去公园游玩的所作的原谅。感谢Karen Stevenson, Ryan Szrama, Earl Miles, 和Nate Haug 提供的那些有益的具有说明力的章节代码。感谢他的妈妈Linda, 感谢她对自己的始终信任,并承担过的所有家务。

 

       Jeff Robbins 要感谢他的妻子 Jennifer Niederst Robbins对他的爱,对他的支持以及她付出的出色的编辑才能。感谢他的儿子Arlo给他带来的开心。感谢O’Reilly 媒体,自他与Jennifer90年代共事以来所提供的如家般的温暖。Jeff还要感谢Matt Westgate 这个最好的商业伙伴为他个人、为企业Lullabot,所创造的安定繁荣的气氛和环境。Jeff 还要感谢公司的运营者Liza Kindred和团队其它成员,感谢整个Drupal社区成员,感谢他们创造了这个慷慨而令人惊奇的Drupal。

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
By submitting this form, you accept the Mollom privacy policy.