1

此大纲针对已经有HTML CSS Javascript与少量的PHP程序经验的人群

系统操作基础

解说顺序 (1.5hrs)

  • drupal介绍

  • 数据结构介绍 - node, user, block, menu, term

  • module安装

  • cache介绍

  • path介绍

参考资料

练习 (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)

参考资料

练习 (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

  1. module结构(其文件命名的意义,目录的意义)

  2. hook system的介绍(深入讲解)

  3. 程序参考 (安装example,并讲解每一个例子的概念)

  4. form开发(看参考资料)

  5. 常用HOOK介绍 (hook_menu, hook_form_alter)

  6. 一个页面的创建(建一个module,利用hook_menu实现一个普通页面)

  7. query API介绍(看参考资料)

  8. 常用函数介绍(如arg, l, url, node_load, user_load, drupal_set_message, date)

  9. 介绍官方API查询方法:api.drupal.org

  10. 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使用规范

  • 代码编写规范


猫之良品
2.5k 声望139 粉丝

资深Drupal, magento与Joomla


引用和评论

0 条评论