此大纲针对已经有HTML CSS Javascript与少量的PHP程序经验的人群
系统操作基础
解说顺序 (1.5hrs)
drupal介绍
数据结构介绍 - node, user, block, menu, term
module安装
cache介绍
path介绍
参考资料
beginning drupal7 (PDF)
Drupal.7.Views.Cookbook (PDF)
Basic Drupal 7 website step-by-step: WYSIWYG, News, Menu and Slideshow
练习 (0.5 day)
安装pathauto,并设置一个content type(news),让它的地址转为mynews/[title]
安装views,做一个news列表,列有:image, title(link), author, date
安装backup migrate并导出一个数据库备份
安裝i18n,让一个NODE可以有中英文内容
安装bootstrap3 theme或者zen theme并开一个sub theme,按照官方的做法
练习目的
让成员了解drupal的基本操作
考评成员的学习能力
前端
解说顺序 (3hrs)
page是什么?一般page是front, views, node
block是什么?
content type,数据结构, 理解fields(widget, format), display models(full page, teaser)
views与DS的各自用法
views与ds结合用法
image缩略图处理
日期格式处理
context的作用与用法
安装menu block,添加一个新的menu,把它放在首页的某个位置
theme结构 - .info, *.tpl.php, region, block
template命名及suggestions(在以下“参考资料”中)
theme开发(基于blank theme, basic,clean或者zen)
参考资料
drupal 7 theme变量查询表
Drupal.7.Themes (PDF)
练习 (2 week)
模仿一个简单的内容类型网站,需要充分使用以下module进行开发
views slideshow开发幻灯片效果
nice menu实现下拉式菜单效果
开发产品列表、产品内页(两列或三列结构)
用context在某页加载一个JS
内页用context高亮它的父级菜单
并且熟练以下技巧
theme开发(基于basic/clean theme或者zen theme)
position的设计与block的使用(例如block的可见性设置)
module template重写 (例如node.tpl.php, block.tpl.php)
前端模块的运用(views, ds, context)
CSS
练习目的
熟识theme原理
熟练使用drupal进行简单项目开发
考评HTML和CSS能力
考评网站结构分析能力
考评处理问题的能力与效率
后端
解说顺序 (2hrs)
devel介绍(调试方法,dpm函数调试,对象结构讲解)
theme结构 - template.php
module结构(其文件命名的意义,目录的意义)
hook system的介绍(深入讲解)
程序参考 (安装example,并讲解每一个例子的概念)
form开发(看参考资料)
常用HOOK介绍 (hook_menu, hook_form_alter)
一个页面的创建(建一个module,利用hook_menu实现一个普通页面)
query API介绍(看参考资料)
常用函数介绍(如arg, l, url, node_load, user_load, drupal_set_message, date)
介绍官方API查询方法:api.drupal.org
features的运用
参考资料
练习 (1 week)
开发contact us form模块,能指定发送邮箱,后台能查询发送记录,主要实现如下效果:
建立两个管理员role(admin_1, admin_2),两个role都可以访问后台,admin_1可以修改contact us的邮件模板,而admin_2没有这个权限(必须通过permissions实现)
建立一个node type:Submissions来接收form得到的结果
使用features包装相关内容,例如role, node
用form API制作一个form,可以填写:Name(text),E-mail(email),Message(textarea)
使用#markup元素输出一段文字
form提交后可以发出邮件,并且有后台能查询记录(可以参考webform)
可以使用template来给form定制更复杂的布局(例如分左右列)
后台可以编辑邮件模板,可以通过标识符调出动态数据,例如:hi [name], you message is [message], email is [email]
练习目的
熟识module建立过程
熟识form API
熟识创建模板
熟识permissions
规范
content type命名
field命名
file目录设置
module文件命名
views使用规范
代码编写规范
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。