第Ⅰ部分 入门 3
第1章Drupal内容管理系统简介 3
1.1探索开源的内容管理系统 3
1.1.1什么是内容 4
1.1.2什么是CMS 4
1.1.3使用CMS的理由 5
1.1.4使用开源的理由 8
1.2探索Drupal 9
1.2.1考虑Drupal的优缺点 9
1.2.2 Drupal的开源许可 9
1.2.3 Drupal的体系结构 10
1.2.4 Drupal 7中的新特性 13
1.3 Drupal社区 14
1.3.1社区的运作方式 14
1.3.2如何加入社区 16
1.4小结 17
第2章 获取和安装Drupal 19
2.1获取安装文件 19
2.1.1探索Drupal…org站点 22
2.1.2了解所需文件 23
2.2技术要求 24
2.2.1服务器要求 25
2.2.2对站点访问者和管理员的要求 25
2.3安装Drupal 26
2.3.1创建本地开发站点 26
2.3.2在Web托管服务器上安装 27
2.3.3运行Drupal安装程序 28
2.4小结 34
第3章Drupal初体验 35
3.1前端:Drupal的公共界面 35
3.1.1菜单结构 38
3.1.2模块 40
3.1.3区块和区域 41
3.2后端:Drupal的管理界面 42
3.2.1管理菜单 43
3.2.2使用仪表板 48
3.2.3定制管理界面 49
3.3小结 51
第4章 配置Drupal站点 53
4.1站点的基本配置 53
4.1.1修改站点信息 55
4.1.2配置区域和语言设置 56
4.1.3错误处理选项 57
4.1.4配置媒体管理 57
4.1.5配置文本格式 60
4.1.6配置计划任务 62
4.2主题配置 62
4.2.1全局主题配置 63
4.2.2主题专属配置 64
4.3管理搜索和URL设置 66
4.3.1配置站点搜索 66
4.3.2配置clean URL 68
4.3.3创建URL别名 69
4.4设置系统日志和报告 70
4.4.1使用Syslog模块 70
4.4.2使用数据库日志模块 71
4.4.3配置统计模块 72
4.4.4管理更新提示 73
4.5配置站点RSS Feed 74
4.6小结 75
第Ⅱ部分 使用Drupal的站点创建工具 79
第5章Drupal默认主题 79
5.1操作主题管理器 79
5.2默认主题一览 81
5.2.1 Bartik 81
5.2.2 Garland 83
5.2.3 Seven 85
5 2.4 Stark 85
5.3小结 86
第6章Drupal默认模块 87
6.1启用和禁用模块 87
6.2管理已启用的模块 89
6.3默认模块 90
6.3.1 Aggregator模块 91
6.3.2 Block模块 91
6.3.3 Blog模块 91
6.3.4 Book模块 91
6.3.5 Color模块 92
6.3.6 Comment模块 92
6.3.7 Contact模块 92
6.3.8 Content Translation模块 93
6.3.9 Contextual Links(上下文语境链接)模块 93
6.3.10 Dashboard模块 93
6.3.11 Database Logging模块 93
6.3.12 Field模块 93
6.3.13 Field SQL Storage(字段SQL存储)模块 94
6.3.14 Field UI模块 94
6.3.15 File模块 94
6.3.16 Filter模块 94
6.3.17 Forum模块 94
6.3.18 Help模块 95
6.3.19 Image模块 95
6.3.20 List模块 95
6.3.21 Locale模块 95
6.3.22 Menu模块 96
6.3.23 Node模块 96
6.3.24 Open ID模块 96
6.3.25 Options模块 96
6.3.26 Overlay模块 96
6.3.27 Path模块 96
6.3.28 PHP Filter模块 97
6.3.29 Poll模块 97
6.3.30 RDF模块 97
6.3.31 Search模块 97
6.3.32 Shortcut模块 98
6.3.33 Statistics模块 98
6.3.34 Syslog模块 98
6.3.35 System模块 98
6.3.36 Taxonomy模块 98
6.3.37 Testing模块 99
6.3.38 Text模块 99
6.3.39 Toolbar模块 99
6.3.40 Tracker模块 99
6.3.41 Trigger模块 99
6.3.42 Update Manager模块 100
6.3.43 User模块 100
6.4小结 100
第7章 区块 101
7.1区块 101
7.2区块管理器概述 104
7.2.1理解关键概念 104
7.2.2管理和配置区块 105
7.3介绍默认区块 107
7.4小结 109
第8章 菜单管理器 111
8.1菜单管理器概述 111
8.2创建和管理菜单 112
8.2.1创建新菜单 113
8.2.2管理现有菜单 114
8.2.3配置全局的Menu模块设置 114
8.2.4为内容类型配置菜单 116
8.3创建和管理菜单项 118
8.3.1创建菜单项 119
8.3.2管理菜单项 121
8.4小结 122
第9章 使用动作和触发器 123
9.1默认的简单动作 123
9.2添加高级动作 125
9.2.1高级动作介绍 125
9.2.2创建一个高级动作 126
9.3为动作分配触发器 128
9.3.1了解触发器 128
9.3.2为高级动作分配触发器 129
9.4小结 130
第Ⅲ部分 操作内容 133
第10章Drupal的内容管理 133
10.1理解关键概念 133
10.1.1内容和节点 133
10.1.2内容类型和字段 134
10.1.3内容与元数据 134
10.1.4内容条目的版本控制 134
10.1.5发布状态和生命周期 135
10.1.6多语言内容 135
10.2理解Drupal内容类型和字段 136
10.2.1探索默认的内容类型 136
10.2.2创建内容类型 139
10.2.3编辑内容类型 142
10.2.4删除内容类型 146
10.3控制内容创建的方式 147
10.3.1配置标准内容条目的默认值 147
10.3.2理解字段设置以及字段实例设置 152
10.4创建新内容 155
10.4.1理解创作基础 155
10.4.2使用标准的内容条目选项 156
10.5管理现有内容 162
10.5.1内容的发布和取消发布 164
10.5.2修改内容 164
10.5.3删除内容 165
10.6小结 166
第11章 管理分类 167
11.1了解关键概念 167
11.1.1 Metadata(元数据) 168
11.1.2 Taxonomy(分类) 169
11.1.3 Vocabulary(词汇表) 169
11.1.4 Term(术语) 170
11.1.5 Tagging(标签) 170
11.1.6 Tag cloud(标签云) 170
11.2分类管理器简介 170
11.2.1列出可用的词汇表 171
11.2.2查看词汇表术语 171
11.2.3查看词汇表字段 172
11.3创建词汇表 173
11.3.1定义新的词汇表 173
11.3.2绑定至内容类型 174
11.4管理术语 178
11.4.1添加新词汇表术语 178
11.4.2编辑和删除词汇表术语 180
11.5小结 181
第12章 格式化内容和媒体 183
12.1理解文本格式化 183
12.1.1文本格式管理简介 184
12.1.2创建和定制文本格式 185
12.1.3控制文本格式的使用 188
12.2操作图像 189
12.2.1创建图像字段 189
12.2.2配置图像工具包 191
12.2.3定义图像样式 191
12.2.4使用图像样式 193
12.3操作其他媒体 195
12.3.1添加文件至内容 196
12.3.2嵌入远程媒体 196
12.3.3研究贡献模块 197
12.4使用WYSIWYG编辑器 198
12.4.1添加一个WYSIWYG编辑器 198
12.4.2创建Wysiwyg profiles 199
12.5小结 203
第13章 管理网站首页 205
13.1控制首页布局 205
13.2为首页使用不同的模板 206
13.3在首页发布内容 207
13.4在首页发布模块输出 208
13.4.1使用模块发布内容 208
13.4.2使用自定义区块发布内容 210
13.5在首页发布区块 211
13.6小结 212
第14章 使用高级内容管理技术 213
14.1创建内容版本 213
14.1.1了解内容版本的业务因素 213
14.1.2配置内容版本 214
14.2实施创作工作流 216
14.2.1为工作流使用Rules和Views 216
14.2.2为工作流使用Maestro 218
14.2.3使用Workflow模块 219
14.3控制垃圾评论 219
14.3.1控制评论功能的使用 219
14.3.2使用CAPTCHA和 reCAPTCHA阻止机器人 220
14.3.3使用Mollom进行自动化评论审核 223
14.4创建内容层次结构 226
14.4.1应用Book模块使内容关系结构化 226
14.4.2使用分类创建内容层次结构 226
14.5内容聚合 227
14.5.1 Drupal Web feeds介绍 227
14.5.2配置内容聚合 228
14.6小结 230
第15章 使用评论功能 233
15.1 Comment模块介绍 233
15.1.1启用和禁用此模块 234
15.1.2配置评论 234
15.1.3为评论定义字段 237
15.2控制评论的样式 239
15.2.1默认模板 239
15.2.2默认样式表 240
15.2.3主题化函数 240
15.3管理评论 240
15.4小结 243
第16章 管理Blog内容 245
16.1 Blog模块介绍 245
16.1.1启用和禁用模块 248
16.1.2配置模块 248
16.2管理Blog 249
16.2.1添加blog文章 250
16.2.2编辑blog 252
16.2.3删除blog 254
16.3控制Blog模块样式 255
16.4使用Most Recent Blog Posts区块 255
16.5小结 256
第17章 使用Book模块 257
17.1 Book模块介绍 257
17.1.1启用和禁用此模块 259
17.1.2配置模块 260
17.2管理Book和Page 262
17.2.1添加一个顶级book页面 264
17.2.2添加子页面 265
17.2.3编辑book页面 266
17.2.4删除book页面 268
17.3控制Book模块样式 269
17.3.1默认模板 269
17.3.2默认的样式表 270
17.3.3主题化函数 271
17.4使用Book Navigation区块 271
17.5小结 273
第Ⅳ部分 操作与内容相关的模块 277
第18章 使用Aggregator模块 277
18.1 Aggregator模块介绍 277
18.1.1启用和禁用模块 278
18.1.2配置Aggregator模块 278
18.2管理Aggregator 281
18.2.1添加和删除feed类别 282
18.2.2添加和删除feed 284
18.3控制Aggregator样式 287
18.3.1默认模板 287
18.3.2默认的样式表 289
18.3.3主题化函数 289
18.4使用Latest Items Block 289
18.5小结 290
第19章 操作表单 291
19.1使用Drupal的Contact模块 291
19.1.1创建网站联系表单 292
19.1.2创建用户联系表单 295
19.2创建自定义表单 296
19.2.1安装和配置Webforms模块 297
19.2.2使用Webforms创建新表单 299
19.2.3使用Webforms收集数据 305
19.3小结 306
第20章 使用Forum模块 307
20.1 Forum模块介绍 307
20.1.1启用和禁用模块 308
20.1.2配置Forum模块 309
20.2管理论坛 311
20.2.1使用容器 312
20.2.2使用论坛 315
20.2.3论坛主题 317
20.3控制Forum模块的样式 323
20.3.1默认模板 323
20.3.2默认的样式表 325
20.4使用Active Forum Topics区块 326
20.5使用New Forum Topics区块 327
20.6小结 328
第21章 使用Poll模块 329
21.1 Poll模块概述 329
21.1.1启用和禁用Poll模块 331
21.1.2配置Poll模块 331
21.2管理投票 333
21.2.1添加投票 333
21.2.2编辑投票 336
21.2.3删除投票 336
21.3控制Poll模块样式 337
21.3.1默认模板 338
21.3.2默认的样式表 340
21.4使用Most Recent Poll区块 340
21.5小结 341
第22章 管理多语言内容 343
22.1理解核心概念 343
22.1.1内容 343
22.1.2国际化(i18n) 344
22.1.3区域设置(locales) 344
22.1.4本地化(L 10n) 344
22.1.5本地化Drupal 345
22.1.6元数据 345
22.1.7多语言内容 345
22.1.8翻译集 345
22.2多语言内容管理概述 345
22.2.1 Locale模块 346
22.2.2 Content translation模块 346
22.2.3 Drupal翻译包 347
22.3启用多语言内容 347
22.3.1启用多语言 347
22.3.2启用多语言内容 349
22.4创作和管理多语言内容 351
22.4.1创建一个新翻译集 351
22.4.2管理翻译集 353
22.4.3管理翻译同步 353
22.5管理多语言内容和界面展示 355
22.5.1理解语言协商 355
22.5.2配置语言协商 356
22.6小结 361
第V部分 管理用户 365
第23章 理解Drupal用户系统 365
23.1用户系统概述 365
23.1.1用户管理器 366
23.1.2配置Account Settings 367
23.1.3 My Account页面 371
23.2创建新用户 373
23.3管理用户 374
23.3.1编辑用户账户 374
23.3.2阻止用户 375
23.3.3取消用户账户 375
23.4操作默认配置文件 377
23.5控制默认配置文件的样式 380
23.5.1默认模板 380
23.5.2默认样式表 382
23.5.3主题化函数 382
23.6使用Tracker模块 382
23.7启用Tracker模块 383
23.7小结 383
第24章 控制用户访问 385
24.1 Drupal访问控制概述 385
24.2添加新角色 386
24.3为角色安排用户 388
24.4设置权限 389
24.4.1控制全局访问 389
24.4.2阻止IP地址 389
24.4.3控制区块级别的访问 390
24.5小结 391
第25章 配置用户注册 393
25.1启用用户注册 393
25.1.1 Drupal身份验证 396
25.1.2使用OpenID 396
25.2管理通知 398
25.3使用用户登录功能 400
25.3.1使用Login区块 400
25.3.2使用Login页面 400
25.3.3请求密码功能 401
25.4样式化显示 402
25.5小结 403
第Ⅵ部分 定制和扩展系统 407
第26章 定制Drupal外观 407
26.1理解主题的工作原理 407
26.2主题的组成部分 408
26.2.1目录结构 408
26.2.2主题文件 409
26.3添加新主题 411
26.4定制主题 414
26.4.1通过配置修改主题 414
26.4.2通过更改代码修改主题 419
26.5创建新主题 427
26.5.1创建主题的前提条件 427
26.5.2创建自定义的子主题 429
26.6使用管理主题 430
26.7小结 432
第27章 定制内容展示 433
27.1基本原理 433
27.2 Views概述 434
27.2.1 Views框架概述 434
27.2.2安装Views 435
27.2.3使用Views 436
27.2.4创建新视图 439
27.2.5编辑和删除视图 443
27.3 Panels概述 444
27.3.1安装Panels 445
27.3.2开始使用Panels 446
27.3.3创建新的面板 448
27.3.4编辑和删除面板 453
27.4小结 454
第28章 定制Drupal功能 455
28.1基本原理 455
28.2合适的工具 457
28.2.1 Devel模块 457
28.2.2 Coder模块 457
28.2.3 Drush 458
28.2.4版本控制 458
28.3 Drupal API 458
28.4定制模块 459
28.5创建新模块 459
28.5.1创建一个新模块目录 460
28.5.2创建.info文件 460
28.5.3创建.module文件 461
28.5.4与数据库交互 463
28.5.5向模块添加区块 464
28.6主题化一个模块 464
28.6.1重用现有主题挂钩 464
28.6.2实现hook theme() 465
28.6.3使用预处理函数 467
28.7小结 468
第29章 扩展站点 469
29.1寻找扩展 469
29.2使用扩展 471
29.2.1自动添加新模块 471
29.2.2手动添加新模块 473
29.2.3自动添加新主题 474
29.2.4手动添加新主题 476
29.2.5自动卸载扩展 476
29.2.6手动卸载扩展 477
29.3处理常见问题的关键扩展 478
29.3.1改进内容的管理和展示 478
29.3.2改进管理 479
29.3.3增强搜索 480
29.3.4增强表单 481
29.3.5增强导航 481
29.3.6媒体管理 482
29.3.7社区功能 483
29.3.8添加地理功能 485
29.3.9增强SEO 485
29.3.10添加广告管理 486
29.3.11开发人员相关模块 487
29.4小结 488
第30章 使用Ubercart实现电子商务 489
30.1了解Ubercart 489
30.1.1功能 490
30.1.2使用Ubercart 491
30.2获取和安装Ubercart 491
30.2.1安装需求 491
30.2.2与现有站点集成 492
30.3配置Ubercart 493
30.3.1配置必需的核心模块 493
30.3.2核心选项 505
30.3.3 Ubercart附加功能 506
30.3.4订单发货选项 506
30.3.5支付选项 507
30.4商店管理 507
30.4.1管理产品 507
30.4.2管理订单 510
30.4.3管理顾客 511
30.4.4查看报表 512
30.4.5创建条件动作 513
30.5增强Ubercart 513
30.6小结 514
第Ⅶ部分 Drupal在企业中的应用 517
第31章 保证站点安全 517
31.1安全最佳实践 517
31.1.1使Drupal核心更安全 517
31.1.2使第三方扩展更安全 519
31.1.3使内容更安全 520
31.2关注安全通知 520
31.3小结 522
第32章 管理站点性能 523
32.1解决常见的性能问题 523
32.1.1通过缓存和资源整合减少服务器负载 523
32.1.2通过控制区块可见性减少服务器负载 526
32.1.3配置额外的性能设置 527
32.2测试性能 530
32.2.1模拟系统负载 530
32.2.2使用Devel模块分析性能 531
32.2.3分析Views性能 532
32.3小结 532
第33章 创建搜索引擎友好的网站 535
33.1创建搜索引擎友好的URL 535
33.1.1启用Clean URLs功能 536
33.1.2使用Path和Pathauto模块 542
33.2管理规范化问题 546
33.2.1理解规范化问题 546
33.2.2配置规范的首页URL 547
32.2.3配置内容的规范URL 548
32.2.4安装并启用Global Redirect模块 549
33.3添加内容元数据 553
33.3.1元数据类型介绍 554
33.3.2控制元数据 554
33.4使用XML Sitemap添加站点地图 555
33.5优化页面模板 555
33.5.1 HTML语义和模板实践介绍 555
33.5.2内容语义和RDFa介绍 556
33.6创建自定义错误页面 557
33.6.1创建自定义404错误页面 557
33.6.2创建自定义403错误页面 558
33.6小结 559
第34章 创建可访问的网站 561
34.1可访问性的定义 561
34.2 Drupal和可访问性 562
34.2.1增强主题的可访问性 563
34.2.2创建可访问的内容 564
34.3小结 565
第35章 处理变更管理 567
35.1使站点离线 567
35.2备份站点 569
35.3从备份恢复 569
35.4使用Update manager模块 570
35.5管理站点升级 572
35.5.1处理次要升级 573
35.5.2处理主要版本升级 575
35.6小结 576
第Ⅷ部分 附录 579
附录A Drupal安装的目录结构 579
附录B关键文件的位置 583
附录C安装XAMPP 591
附录D安装MAM P 593
附录E本书之外——其他在线帮助资源 595