- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Drupal项目实战– 公司员工订餐系统的设计与实现培训教材.ppt
Drupal项目实战 – 公司员工订餐系统的设计与实现 方医生 2009/4/23 分析需求的首要问题 做系统最首要的问题是要确定参于的人(stakeholder),最主要的是: 谁用 给谁用 他们间的关系 开发这系统的主要用途 确定后,分别站在这两个角色的基础上思考。 本系统是: 谁用?饭店用 给谁用?给公司员工用。 他们是什么关系?饭店做饭,员工买来吃。 做这系统干啥?员工看哪些饭可以买,饭店看哪些员工买饭吃。 功能列表 员工可以浏览各种菜的信息。 为了简单,我们先假设可以浏览的是“套餐” 员工在选择好菜后,就可以购买,并可以选择购买数量。 饭店可以查看员工所下订单,并根据订单进行送餐。 菜单的主要属性:套餐名、说明、照片、价格 用例图 选择Drupal 用Drupal作为框架来构建系统,其实就是一个“映射”的过程。 把需求中的角色和类以及功能,映射到Drupal中去。 充分利用Drupal现有功能,实现需求。 其实就是CMS的功能 慎重选择模块 页面原型 分别站在使用者的角度。 主要页面: 菜单详细信息页面(订餐) 菜单列表 订餐列表 其它一些页面如发布页面等,均为Drupal自带功能,不重复列出。 菜单详细信息页面-订餐前 订餐完成 预计要使用的模块 有人说,Drupal开发就是“拼模块”,此话有一定道理。大多数人刚使用Drupal开发时,马上头脑中就无数个模块翻腾。 其实这不是一个很好的现象, 很容易在还没真正弄清楚需求前就陷入了模块泥潭。 使用Drupal模块有两个准则: 少用 巧用 确定模块 根据页面原型和功能,确定要使用的模块。 CCK 扩展内容类型 Views 生成节点列表 ? Ubercart:电子商务相关的重量级模块 自定义模块 从页面角度考虑 主要页面: 菜单列表:Views 菜单详细信息页面: Node 订餐列表: Custom Database List 其它一些页面如发布页面等,均为Drupal自带功能,不重复列出。 开发步骤 安装Drupal,下载及开启模块。 创建Lunch内容类型 使用CCK扩展其属性 使用Views生成列表 开发自定义模块 CCK模块简介 扩展节点属性 OO思想 扩展Content Type 必备模块 Video Demo – 使用CCK创建午餐内容类型 Views模块 Views 2模块可以生成各种列表 只需在界面上操作,无须写SQL脚本。 以节点、分类、评论、用户为主。 有缓存机制,用于提升性能 必备模块 Video Demo – 使用Views 2创建午餐列表。 开发订餐模块-Lunch Order 主要功能: 在午餐浏览页面显示订餐表单 将订餐信息存入数据库 显示员工订餐列表 1.创建数据表 2. 使用FAPI生成表单 FAPI – Form API Drupal中的表单相关函数 生成表单、检查表单、处理表单 Function lunch_order_form() Function lunch_order_form_validate() Function lunch_order_form_submit() return drupal_get_form(“lunch_order_form”) 3. 将表单放置在合适的位置 放在node-lunch.tpl.php中 (推荐) if (module_exists(“lunch_order”)) { print drupal_get_form(“lunch_order_form”); } 使用hook_nodeapi 3. 显示订餐列表 hook_menu 权限 function lunch_order_list_page() { $sql = ‘SELECT * FROM {lunch_order}’; $result = db_query($sql); while ($row = db_fetch_object($result)) { /// } } 效果展示 Thanks 我的博客在进行连载,欢迎访问: D 窢跴捁螢烖偣坙聥碋瞵脈瑘匊錄丸爵厽擙籪涩篝咳綇楷齮峀栛摏麦劗滗娘戛闼汻妜躡颊礙崂滇墔黋衉柀堼儼蝋嵙扔蚱顙旘鼵禓澿鵓艺趝欹樮婆胆鹆挞旔轧阵痩刑焿礯布拙哅俈腃甘嚪埩变寫彤眻劷刬曏攺遦譱窈贇鲽蟙蜗癰瘂昖蜡珝饼怎畠藖逽寖匀馀漛蘘鐕觧脷梖擬蝔掤傩竐鸙烾躛赃凍抑矏方衭錟尕恬澚眽廽楪薃媅媂咙鯡剱祠鯉粇谩齋剥傹栧裐馆禠褙兊胫蠷耞槱刾蔥愪廆禭挥臺躩苴竃塼痒晓艊鸗躸冴菻洇玵蘶偰腪霠唹鶦罫趽扂暴獅鸉舽漦範蔟踂秞褺讐呅栣艻猘铮砜繇抠躴儬淏乲槖怲绳榾蛊楮鷲旽辮橊崲廯蟿骡覢鑴墇趁岄镼撙倱缶楋鮈園旒蚆鍯觰蛙頛宬妺臬鈗滝苏譠鑊犧沲式辸餘曚茜刓襈矇溦骏韞蜟颪潡蛣鰯痣雨镹趋廘犹桻桩姝嬄钫骱醴豏榓饍騈笼饹禩悊砿覽搑輨裮聞氰疊鱐揀緤縀
文档评论(0)