基 础篇 2
第1章Drupal入门 2
1.1内容管理系统(CMS) 2
1.2开源的PHP WCMS 3
1.2.1 Drupal 3
1.2.2 Joomla 5
1.2.3 Typo3 7
1.2.4 WordPress 8
1.2.5比较 10
1.3 Drupal功能总览 11
1.3.1内容管理 11
1.3.2用户管理 12
1.3.3主题模板 13
1.3.4博客平台 14
1.3.5论坛社区 15
1.3.6多语言支持 16
1.3.7站点管理工具 16
1.3.8模块 17
1.3.9其他特性 17
1.4小结 18
第2章 安装Drupal 6 19
2.1版本的选择 19
2.2获得Drupal 19
2.3创建数据库 20
2.4使用安装向导 24
2.4.1选择向导的界面语言 24
2.4.2创建settingsphp文件 24
2.4.3设置数据库 25
2.4.4设置站点初始信息 27
2.4.5完成安装 30
2.5 Hello Drupal! 32
2.5.1创建个人博客 32
2.5.2开启功能模块 32
2.5.3发布第一篇博客 33
2.5.4选择合适的主题 35
2.6小结 37
第3章Drupal的基本概念 38
3.1节点 38
3.2内容类型 39
3.3模块 39
3.4主题 40
3.5区块 42
3.6菜单 42
3.7用户 43
3.8评论 43
3.9分类 44
3.10小结 44
第4章 管理Drupal 45
4.1介绍 45
4.2内容管理 46
4.2.1创建节点 47
4.2.2管理节点 51
4.2.3管理评论 52
4.2.4管理节点类型 53
4.2.5发布设置 60
4.2.6 RSS发布设置 61
4.2.7类别管理 62
4.3用户管理 64
4.3.1用户管理 65
4.3.2访问规则 67
4.3.3角色 69
4.3.4用户相关设置 71
4.4站点创建 74
4.4.1区块管理 75
4.4.2菜单导航管理 80
4.4.3模块管理 83
4.4.4主题管理 85
4.5站点配置 89
4.5.1动作 89
4.5.2管理专用主题 91
4.5.3简洁URLs 91
4.5.4日期与时间 93
4.5.5错误报告 94
4.5.6文件系统 94
4.5.7图像处理工具 95
4.5.8输入格式 95
4.5.9日志和报警 99
4.5.10性能 99
4.5.11站点信息 101
4.5.12站点维护 101
4.6站点报告 102
4.6.1最近日志记录 102
4.6.2出现“访问被拒绝(Access denied)”的页面 103
4.6.3查看返回404错误的路径 103
4.6.4站点状态 104
4.7小结 105
第5章 主要模块介绍 106
5.1博客(Blog ) 106
5.2文集(Book) 108
5.2.1创建文集 109
5.2.2管理文集 111
5.3联系表单(Contact) 111
5.3.1联系表单类别管理 112
5.3.2网站用户的联系表单 113
5.3.3联系表单链接 115
5.4论坛(Forum) 116
5.4.1容器(Container)和论坛(Forum) 118
5.4.2论坛全局设置 119
5.5本地化(Locale)和翻译(Content Translation) 121
5.5.1更换界面语言 121
5.5.2修改现有翻译 124
5.5.3导出翻译包 125
5.5.4为节点创建多语言版本 126
5.5.5本地化域名 127
5.6自定义路径(Path) 128
5.6.1创建节点时设置自定义路径 128
5.6.2使用后台集中管理自定义路径 128
5.7访问统计 130
5.8触发器 130
5.9小结 132
第6章 部署Drupal 133
6.1测试环境与生产环境 133
6.2选择最适合你的服务器架构 133
6.2.1单服务器 133
6.2.2 Web服务器和数据库服务器 134
6.2.3更复杂的架构 134
6.3部署流程 135
6.3.1第一次部署 135
6.3.2更新运行中的Drupal网站 137
6.4小结 138
第7章Drupal网站维护 139
7.1网站清理 139
7.1.1清理缓存 139
7.1.2清理垃圾节点和评论 140
7.1.3非法用户 140
7.1.4垃圾上传文件 141
7.1.5日志 142
7.2网站备份 142
7.2.1准备工作 142
7.2.2数据库备份 142
7.2.3网站程序备份 143
7.2.4用户文件备份 143
7.3网站数据恢复 143
7.3.1使用phpMyAdmin 144
7.3.2使用BigDump 144
7.4小结 146
高 级篇 148
第8章 常用第三方模块 148
8.1 CCK 148
8.1.1为什么需要字段 148
8.1.2扩展内容类型 149
8.1.3 CCK提供的字段类型 153
8.2 Views 157
8.2.1基础概念 157
8.2.2创建视图 159
8.2.3列表样式 167
8.2.4导入与导出 168
8.3 Panels 169
8.3.1 Panel布局 170
8.3.2创建Panel节点 171
8.3.3创建Panel区块 172
8.4小结 173
第9章Drupal模块开发 174
9.1开发环境搭建 174
9.1.1开发工具 174
9.1.2 Drupal运行环境 177
9.1.3 Devel模块 178
9.2模块开发基础 179
9.2.1钩子函数 180
9.2.2菜单系统 180
9.3创建Drupal模块 180
9.3.1为模块命名 181
9.3.2模块文件夹 181
9.3.3模块注册文件 181
9.3.4创建页面 182
9.3.5创建自定义区块 184
9.4小结 186
第10章Drupal主题开发 187
10.1 Drupal的主题机制 188
10.1.1 MVC架构 188
10.1.2模板技术和网站主题 189
10.1.3 Drupal主题引擎 190
10.2 theme函数 193
10.2.1执行流程 194
10.2.2 hook theme 194
10.3主要模板文件 195
10.3.1通用模板变量 196
10.3.2 page.tpl.php 197
10.3.3 node.tpl.php 199
10.3.4 block.tpl.php 200
10.3.5 comment.tpl.php 201
10.4小结 202
第11章Drupal API 203
11.1 API文档使用指南 203
11.2操作节点 204
11.2.1节点对象 204
11.2.2载入节点 205
11.2.3获得节点展示代码 205
11.2.4保存节点 206
11.2.5删除节点 206
11.2.6节点钩子函数 206
11.3操作用户 208
11.3.1用户对象 208
11.3.2全局$user变量 209
11.3.3载入用户 209
11.3.4用户钩子函数 210
11.4操作数据库 212
11.4.1数据库查询 213
11.4.2获得结果 214
11.4.3分页查询 214
11.5表单API 216
11.5.1创建表单 216
11.5.2表单提交数据的验证 219
11.5.3处理提交数据 221
11.5.4修改已存在的表单 222
11.6小结 223
第12章Drupal网站安全 224
12.1访问权限控制 224
12.2过滤用户输入内容 225
12.3安全的数据库查询 225
12.4防止跨站请求伪造(CSRF) 227
12.5小结 228
实 战篇 230
第13章 实践项目一:大学教务处新闻网站 230
13.1项目背景 230
13.2需求分析 230
13.2.1需求分析的重要性 230
13.2.2用例图 231
13.2.3网站功能 231
13.2.4非功能性需求 232
13.2.5项目估计 233
13.3设计 233
13.3.1核心页面设计 233
13.3.2主要内容类型 236
13.3.3所需模块 236
13.3.4主题 237
13.3.5用户角色与权限 237
13.4系统实现 238
13.4.1新闻审核 238
13.4.2新闻视图 240
13.4.3创建首页 242
13.4.4注册规则 243
13.4.5联系表单 244
13.4.6自定义错误页面 245
13.4.7定制主题 246
13.4.8安装中文语言包 248
13.5测试 248
13.5.1软件测试简介 249
13.5.2使用SimpleTest进行单元测试 249
13.5.3使用虚拟机搭建测试环境 251
13.5.4测试用例 254
13.6小结 255
第14章 实践项目二:在线订餐系统 256
14.1项目背景 256
14.2需求分析与功能设计 256
14.2.1核心业务数据 257
14.2.2页面设计 257
14.2.3所需模块 258
14.3系统实现 258
14.3.1创建内容类型 258
14.3.2订餐模块的开发 260
14.3.3订单列表 264
14.3.4订餐页面的美化 265
14.4小结 265
附录A PHP基础 266
附录BMySQL基础 281
附录C第三方模块介绍 302