图书目录

目录

第一篇入门篇

第1章Drupal介绍

1.1开源内容管理系统

1.2Drupal的特点

1.3Drupal的版本

1.4Drupal 7、8、9版本的区别

1.5Drupal核心概念思想

1.5.1模块

1.5.2节点

1.5.3内容类型

1.5.4字段

1.5.5区块

1.5.6分类

1.5.7实体

1.5.8视图

第2章Drupal开发环境搭建与安装

2.1Drupal的开发环境

2.2UniServerZ安装

2.3Drupal 8安装

2.3.1下载Drupal

2.3.2数据库配置

2.3.3中文化设置

2.3.4安装Drupal 8

2.4Drupal 8后台管理

2.4.1内容

2.4.2结构

2.4.3外观

2.4.4扩展(模块)

2.4.5配置

2.4.6人员

2.4.7报告

2.4.8帮助

第3章模块

3.1模块查找

3.2模块存放的位置

3.3模块下载、安装、使用

3.3.1手动安装

3.3.2系统管理页面下载

3.3.3模块启用与依赖

3.4模块的升级

3.4.1手工升级

3.4.2在线升级

3.4.3使用Drush和Composer工具升级

3.5用Module Filter管理模块

第4章内容管理

4.1Drupal的内容

4.2创建基本页面

4.3内容的修改和删除

4.4内容的修订版本

4.5批量内容的查询、编辑、删除管理

4.6其他内容类型的创建

4.7富文本编辑器

4.7.1使用CKEditor编辑器

4.7.2CKEditor的文本格式修改

第5章内容类型

5.1内容类型的创建

5.1.1创建内容类型

5.1.2内容类型的设置

5.2字段管理

5.3管理表单显示

5.4管理内容显示

第6章内容分类

6.1创建一个Drupal文章分类

6.2引用分类表

6.3修改分类表表单显示

6.4在文章中使用分类

第7章内容显示

7.1系统默认的显示方式

7.2视图模块

7.2.1页面方式

7.2.2显示域

7.2.3格式化显示域

7.2.4过滤器

7.2.5排序

7.2.6页眉页脚

7.2.7分页器

7.2.8上下文过滤器

7.2.9关联

7.3创建视图

7.3.1创建“所有文章列表”视图

7.3.2设置“所有文章列表”页面

7.3.3“所有文章列表”视图显示

7.3.4视图的区块

7.4区块布局

7.4.1演示块区域

7.4.2放置区块组件内容

7.4.3自定义区块库

7.5与内容显示相关模块

7.5.1Ctools模块

7.5.2Panels模块

第8章多媒体内容

8.1视频内容

8.1.1启用Media模块

8.1.2创建视频内容类型

8.1.3安装优酷模块

8.1.4添加优酷字段

8.2创建视频内容

8.2.1创建本地视频内容

8.2.2创建优酷远程视频内容

8.3相册内容

8.3.1创建相册内容类型

8.3.2相册相关模块

8.3.3Juicebox模块安装

8.3.4设置相册幻灯片显示

8.3.5Juicebox相册显示效果

8.3.6相册视图定义Juicebox显示

8.3.7相册视图的显示效果

8.4幻灯片

8.4.1幻灯片相关模块

8.4.2Views Slideshow模块安装

8.4.3创建轮播内容

8.4.4创建视图幻灯片

8.4.5添加一个视图区块

8.4.6“内容: Image”设置

8.4.7改变轮播效果

8.4.8添加轮播控制按钮

8.4.9自定义轮播图片样式

8.4.10文字滚屏

8.4.11幻灯片布局

8.5文件上传下载

8.5.1Drupal的文件系统

8.5.2设置PHP上传文件大小

8.5.3创建内容类型

8.5.4作为资源文件下载

第9章菜单管理

9.1创建菜单

9.2添加菜单项链接

9.2.1通过内容创建生成菜单项

9.2.2通过系统菜单管理添加菜单项

9.3部署菜单

9.4菜单项分级

9.5创建菜单的其他方式

9.5.1通过视图创建菜单

9.5.2通过视图创建标签菜单

9.6菜单的禁用和删除

9.7与菜单相关的模块

9.7.1Nice Menu模块

9.7.2Superfish模块

9.7.3Taxonomy menu模块

9.7.4Pathauto模块

第10章用户、角色与权限

10.1用户管理

10.1.1用户注册与创建

10.1.2用户账号设置

10.1.3用户批量管理

10.2创建角色

10.3赋予角色权限

10.4赋予用户角色

第11章主题

11.1主题模块

11.1.1主题模块安装

11.1.2主题启用

11.1.3主题切换与卸载

11.2主题设置

11.2.1配色方案

11.2.2网站logo与快捷图标

11.2.3第三方主题设置

11.3站点信息设置

第12章页面布局与首页设计

12.1Page Manager和Panels

12.1.1Panel Nodes 和Pages

12.1.2变体与页面管理

12.2创建自定义首页布局

12.2.1创建首页页面(变体)

12.2.2首页布局

12.2.3给首页添加内容

12.2.4重新定义首页URL地址

12.3Layout Builder管理显示

第13章社交

13.1社交分享

13.2阅读统计

13.2.1浏览统计的配置

13.2.2谁可以看到浏览统计

13.2.3热点文章排行

13.3点赞统计

13.3.1Voting API设置

13.3.2LikeBtn模块设置

13.3.3点赞效果

13.4联系表单

13.4.1个人联络表单

13.4.2自定义联络表单

13.4.3创建联络表单菜单

13.4.4通过自定义联络表单发送邮件

13.5Webform表单

13.5.1创建Webform表单

13.5.2发布表单

第14章中文与多语种网站

14.1多语种网站

14.2用户界面翻译

14.2.1翻译包

14.2.2翻译用户界面

14.3创建双语网站

14.3.1添加语言

14.3.2语言检测设置

14.3.3添加语言切换按钮

14.3.4第三方语言切换按钮

14.4内容翻译

14.4.1内容类型增加翻译和语言选择功能

14.4.2语言选择器与内容创建

14.4.3编辑翻译文章

14.4.4其他实体内容的翻译

第15章实用管理模块和Drupal分发版

15.1高级帮助管理

15.2开发管理

15.3分类管理

15.4关联关系管理

15.5批量处理

15.6规则

15.7电子商务

15.8Drupal分发版

第16章移动与PWA设计

16.1响应式移动设计

16.1.1移动优先主题设计

16.1.2移动和桌面应用切换

16.2移动业务相关设计

16.3PWA

16.4基于Drupal后端移动应用开发

第17章产品上线

17.1申请域名

17.2申请托管服务器

17.3安装Drupal到虚拟主机

17.4域名设置

17.4.1域名绑定

17.4.2重定向

17.4.3迁移

17.4.4子域名

17.5Cpanel管理虚拟主机

17.5.1文件管理

17.5.2数据库管理

17.5.3邮件管理

17.5.4监控管理

17.5.5安全服务

第二篇实战篇

第18章在线课程管理系统分析

18.1系统概要

18.2参与者

18.2.1老师角色职能

18.2.2学生角色职能

18.2.3系统管理员角色职能

18.3系统主要功能需求

18.3.1课程管理

18.3.2课程资源管理

18.3.3题库和作业管理

18.3.4课程班级讨论帖管理

18.3.5查询功能

第19章用户与系统角色设计

19.1Drupal内核的用户管理

19.2自定义用户信息

19.3系统用户角色

19.3.1用户角色定义

19.3.2用户角色添加

19.3.3用户注册的角色选择

19.4给用户添加自定义字段

19.4.1添加用户通用字段

19.4.2添加老师和学生用户字段

19.4.3老师和学生用户信息字段加权限

19.5学生和老师用户注册方式

19.5.1给特定角色添加注册页面

19.5.2老师和学生的注册界面

19.5.3老师角色注册需要管理员确认

19.6登录用户查看自己信息

第20章课程、班级和内容设计

20.1课程与教学班级设计

20.2安装群组模块

20.2.1使用Group模块

20.2.2使用OG群组模块

20.2.3OG群组概念

20.3课程群组数据结构设计

20.4创建课程群组内容类型

20.4.1创建课程性质和教研室分类

20.4.2课程小组添加课程性质和教研室分类

20.4.3添加课程图片封面

20.4.4添加其他字段

20.5班级群组数据结构设计

20.6创建班级群组内容类型

20.6.1设置班级群组为课程群组的内容

20.6.2修改字段名称

20.7建立群组与内容关系

20.7.1内容绑定到课程和班级群组

20.7.2设置创建内容链接

20.8群组和内容的创建

20.8.1创建课程实例、发布文章

20.8.2课程小组和文章的发布效果

20.8.3课程群组和文章页面效果

20.9设置群组公有、内容私有

20.9.1设置课程小组公有

20.9.2设置课程小组文章内容私有

第21章课程与班级显示

21.1OG模块默认的视图

21.2OG Extras模块

21.3所有课程列表显示

21.3.1设置课程页面

21.3.2设置课程区块

21.4课程小组下的所有班级列表显示

21.4.1创建班级列表视图

21.4.2设置班级标签菜单

21.4.3设置班级视图页面上下文过滤器

21.4.4班级列表显示效果

第22章课程与班级页面布局设计

22.1构建课程群组页面布局

22.1.1Page manager修改节点模板

22.1.2添加课程群组新变体

22.1.3设置课程变体显示规则

22.1.4定义课程页面布局

22.2给课程变体添加内容

22.2.1添加节点的正文

22.2.2添加“创建内容”面板

22.2.3添加内容面板

22.2.4群组成员列表

22.2.5添加群组成员状态

22.3课程自定义布局

22.4课程小组页面布局显示效果

22.5班级小组布局

22.5.1默认群组节点的显示效果

22.5.2查看Group变体的内容

22.5.3修改Group变体名称为“班级群组布局”

22.5.4修改“班级群组布局”变体的选择规则

22.5.5重新定义“内容”布局

22.5.6选择创建内容链接

22.5.7显示班级所属课程

22.5.8给布局添加样式

22.5.9班级布局效果

第23章题库设计

23.1Quiz模块

23.2Quiz的设置管理

23.3Quiz的基本原理

23.4题库内容类型设置

23.5题型内容类型设置

23.6创建题库实例

23.7添加题型实例

23.7.1独立内容添加题型

23.7.2题库添加题型

23.8题库的题型分类设计

23.8.1以问题“标题”为分类字段

23.8.2通过系统分类术语分类题库问题

23.9在线测验与测验结果

23.10成绩统计

23.10.1统计图模块安装

23.10.2题库修订版本

23.10.3查看题库成绩统计

23.11一些关键设置

23.11.1用户可以测验的次数

23.11.2通过率(及格率)

23.11.3测试开放时间设置

23.12批量题型导入

23.13课程和班级的题库设计

23.13.1课程的题库标签菜单设置

23.13.2班级的题库设置

第24章课程与班级用户权限管理

24.1系统级角色权限分配

24.2系统级角色权限设置

24.3群组角色权限设置

24.3.1群组角色定义

24.3.2群组角色权限设置

24.4群组角色授权管理

24.5班级群组批量学生角色授权

第25章课程多媒体资源库设计

25.1课程大纲结构设计

25.2创建课程大纲内容类型

25.2.1“教学内容及要求”字段

25.2.2富文本编辑器

25.2.3“重点难点”字段

25.2.4文件类型的字段设置

25.2.5视频设计

25.2.6安装ffmpeg

25.2.7安装Zencoder库

25.2.8本地视频字段设置

25.2.9远程视频字段

25.3创建课程大纲实例

25.3.1编辑“教学内容及要求”

25.3.2上传课件和作业模板

25.3.3上传本地和远程课程视频

25.4课程大纲显示效果

25.5课程大纲在课程群组的显示设计

25.5.1大纲文字内容列表

25.5.2课程视频列表

第26章课程资源和消息管理

26.1课程资源管理

26.1.1资源共享设计实现

26.1.2资源分类(标签菜单)设计

26.2老师、学生资源管理

26.2.1学生管理

26.2.2老师管理

26.3题库资源发布与管理

26.3.1课程小组的题库管理

26.3.2班级小组的作业发布

26.4课程大纲、文章和群组帖的发布管理

26.4.1课程大纲的发布管理

26.4.2文章的发布管理

26.4.3群组贴发布管理

26.5消息管理

26.5.1在线课程消息管理设计

26.5.2本地服务器Email测试管理

26.5.3安装设置Mail Safety模块

26.5.4设置消息类型模板

26.5.5定制消息发送规则

26.5.6消息管理测试

26.6消息管理改进

26.6.1群组帖添加“通知字段”

26.6.2修改消息通知规则

第三篇维护篇

第27章Drupal备份与恢复

27.1备份Drupal系统

27.1.1下载Drupal系统文件

27.1.2导出数据库

27.2恢复Drupal系统

27.2.1系统代码恢复

27.2.2导入数据库

第28章Drupal版本迁移

28.1迁移准备

28.1.1系统清单

28.1.2内容清理

28.1.3模块清理

28.1.4用户清理

28.2迁移审查

28.3用Migrate迁移工具

28.4用Drush迁移

第29章Drupal的升级与多网站开发

29.1手工升级Drupal

29.1.1Drupal 7升级

29.1.2Drupal 8升级

29.1.3关于.htaccess和robots.txt

29.1.4update.php

29.2多网站

29.2.1创建多网站

29.2.2多网站更新

29.2.3多网站数据库备份还原

第30章重置MySQL数据库root密码

30.1Linux下的MySQL

30.2UniServerZ下的MySQL

第31章Drupal安全防护

31.1安全审查和基本保护

31.1.1安全审查

31.1.2基本防范

31.2Spambots防范

31.2.1Drupal用户设置

31.2.2使用第三方安全模块

31.3admin账号恢复

第四篇工具篇

第32章WSL开发环境

32.1Windows Subsystem of Linux

32.1.1打开Windows的Linux子系统功能

32.1.2选择安装一个Linux子系统

32.1.3进入Ubuntu终端

32.1.4设置root密码或修改用户密码

32.1.5设置bash属性

32.1.6WSL默认共享目录

32.2安装LAMP

32.2.1升级系统

32.2.2添加PHP软件仓库

32.2.3安装LAMP

32.2.4测试Apache

32.2.5测试PHP

32.2.6启用模块

32.3Apache服务器设置

32.3.1解决WSL网络协议错误问题

32.3.2修改端口号

32.3.3根目录设置

32.3.4虚拟主机设置

32.4MariaDB数据库设置

32.4.1启动MySQL服务

32.4.2打开MySQL终端

32.4.3退出MySQL终端

32.5设置系统自动启动LAMP服务器

32.6安装邮件服务器代理

32.6.1安装Postfix

32.6.2启动邮件服务器

32.6.3发送测试mail

32.7安装FTP文件服务器

32.7.1安装FTP

32.7.2修改设置

32.7.3启动FTP服务

32.8WSL目录文件权限问题

32.9WSL系统下Drupal安装

32.9.1下载和解压Drupal

32.9.2创建数据库和用户

32.9.3settings.php文件设置

32.9.4虚拟主机设置

32.9.5手工安装Drupal

32.10WSL迁移

32.10.1WSL导出

32.10.2WSL导入

32.10.3WSL启动

32.10.4Ubuntu用户切换

32.11WSL升级到WSL2

32.11.1检查Windows 10版本

32.11.2安装Linux内核更新包

32.11.3切换到WSL2环境

32.11.4设置WSL的Linux分发版本为WSL2

32.11.5文件共享问题

32.11.6Web访问问题

32.12Windows 10下文件共享问题

32.12.1文件夹共享设置

32.12.2专用网络设置

32.12.3网络共享设置

第33章Linux虚拟机与容器开发环境

33.1Drupal的虚拟机镜像

33.2VirtualBox开发环境

33.2.1安装VirtualBox 

33.2.2安装Drupal虚拟机镜像文件

33.2.3启动Drupal虚拟机

33.2.4安装扩展包

33.3Docker

33.3.1Windows 10下安装Docker

33.3.2Docker基本容器管理命令

33.3.3修改容器镜像文件存放位置

33.3.4修改Docker服务器引擎容器

33.3.5共享磁盘

33.3.6设置国内镜像加速器

33.3.7安装Drupal容器和MariaDB数据库

33.3.8使用dockercompose 安装Drupal项目

33.4Vagrant

33.4.1先安装VirtualBox

33.4.2安装和使用Vagrant

33.4.3基本概念

33.4.4安装基础盒

33.4.5虚拟机操作

33.4.6VDD

33.4.7Drupal VM

33.4.8beetbox

33.5Vagrant的系统性能问题

33.6Vagrant和Docker的比较

第34章Composer和Drush工具

34.1Composer

34.1.1安装Composer 

34.1.2安装Drupal项目

34.2Drush

34.2.1Windows 10 安装Drush

34.2.2安装wget或者cURL

34.2.3在Ubuntu中安装Drush

34.2.4下载Drupal项目

34.2.5安装Drupal项目

34.2.6检查Drupal项目的设置

34.2.7安装管理Drupal模块

34.2.8升级Drupal内核和模块

34.2.9备份代码和数据库

34.2.10恢复代码和数据库

34.3Drupal CLI

34.3.1安装Drupal CLI

34.3.2使用Drupal CLI

第35章Web应用开发常用工具

35.1代码编辑器

35.1.1Linux下的编辑器

35.1.2Windows常用编辑器

35.2浏览器调试工具

35.2.1开发者工具

35.2.2浏览器的Web应用开发扩展

35.3文件上传下载工具

35.4Linux服务器控制台

35.4.1开发环境的Linux服务器控制台

35.4.2远程环境的Linux服务器控制台

附录ADrupal常用模块一览表

附录B常用开发工具及服务一览表

致谢