值此新春到来之际,我代表我和我的家人,对在过去的一年来对我给予极大支持的同学们、朋友们,以及广大的Drupal爱好者们致以最诚挚的问候:祝愿大家在新的一年里,万事如意,心想事成!在牛年里,无论是学业、事业还是家庭,都牛气冲天。特别感谢美丽可爱的Ballet网页设计,也祝福Drupal在牛年发展的更好。
2009年1月25日星期日
方医生恭祝大家牛年快乐!
值此新春到来之际,我代表我和我的家人,对在过去的一年来对我给予极大支持的同学们、朋友们,以及广大的Drupal爱好者们致以最诚挚的问候:祝愿大家在新的一年里,万事如意,心想事成!在牛年里,无论是学业、事业还是家庭,都牛气冲天。特别感谢美丽可爱的Ballet网页设计,也祝福Drupal在牛年发展的更好。
2009年1月17日星期六
让Drupal展示绚烂的图表-Open Flash Chart
有朋友问起关于在Drupal中生成图表的功能,并推荐了一个Charts模块。但经我的试用,发现这个模块文档奇缺,无法简单的安装成功。因此找到了另外一个模块:Open Flash Chart API。
Open Flash Chart 是非常有名的一个开源的、免费的Flash图表生成程序,它的网址是:http://teethgrinder.co.uk/open-flash-chart/index.php。通过它可以生成很酷很炫的各种图表。如下图所示。
为了方便大家的使用,我将做一个小视频,欢迎收看,敬请关注。
Drupal项目实战-公司订餐系统(三)
上节回顾
上一节的进展为:
目前,简单的菜单管理功能模块可以说基本上完成了,除了权限控制部分。我认为权限控制应该在所有系统功能完成后再统一考虑,目前还是先实现功能为主。那么接下来,就可以进入订餐功能模块的开发了。本文我们就开始订餐功能的设计和开发。
订餐功能模块分析
公司员工在浏览了菜单后,可以选择订购此午餐,同时设定购买数量。由于菜单是一个套餐,因此通常一个员工只会选择一种套餐。但是,此处我认为应该在一定程序上考虑系统的可扩展性,也就是说,应该考虑一个用户订两个或多个“套餐”的情况。因为很显然的是,员工小A想替小B和小C订餐的话,那么使用小A的帐户就需要同时订购三种不同的套餐。
其实此处就存在一个实际的业务模型和系统模型间的映射关系。如果只是从“一个员工中午只吃一种套餐”的常识来想,将每个“帐户”设定为“只允许订购一种套餐”的话,做成的系统就明显不适合使用了。这点也提醒做系统设计的朋友们要注意。
由于目前本系统只限于某公司员工内部使用,因此不存在需要填写送餐地址的信息。同时为了方便起见,暂时不考虑网上支付。这样问题就简化了。另外,用户在订餐时,通常会按照个人口味提出一些建议,因此系统还需要提供一个文本框,用于用户对订餐进行一些“补充说明”。
总结一下,订饭的流程如下:




上一节的进展为:
- 创建了Food的Content type
- 使用CCK创建了Food的相关字段
- 修改了node-food.tpl.php
目前,简单的菜单管理功能模块可以说基本上完成了,除了权限控制部分。我认为权限控制应该在所有系统功能完成后再统一考虑,目前还是先实现功能为主。那么接下来,就可以进入订餐功能模块的开发了。本文我们就开始订餐功能的设计和开发。
订餐功能模块分析
公司员工在浏览了菜单后,可以选择订购此午餐,同时设定购买数量。由于菜单是一个套餐,因此通常一个员工只会选择一种套餐。但是,此处我认为应该在一定程序上考虑系统的可扩展性,也就是说,应该考虑一个用户订两个或多个“套餐”的情况。因为很显然的是,员工小A想替小B和小C订餐的话,那么使用小A的帐户就需要同时订购三种不同的套餐。
其实此处就存在一个实际的业务模型和系统模型间的映射关系。如果只是从“一个员工中午只吃一种套餐”的常识来想,将每个“帐户”设定为“只允许订购一种套餐”的话,做成的系统就明显不适合使用了。这点也提醒做系统设计的朋友们要注意。
由于目前本系统只限于某公司员工内部使用,因此不存在需要填写送餐地址的信息。同时为了方便起见,暂时不考虑网上支付。这样问题就简化了。另外,用户在订餐时,通常会按照个人口味提出一些建议,因此系统还需要提供一个文本框,用于用户对订餐进行一些“补充说明”。
总结一下,订饭的流程如下:
- 浏览菜单并选择“订购”某套餐
- 设置订购数量
- 输入补充信息
- 查看购物车并确认生成订单
- 查看订单状态(已收到订单、已发货、收货确认)
图!图!图!
我认为任何语言的描述都不如页面草图来的直接。UML和简洁的文字都不是和客户交流的最好方式。看得见的页面图才是最有效的办法。
上面几张图演示了在浏览套餐菜单后,可直接订餐的全部过程。
(未完待续)
如何升级Drupal 6
使用Drupal 6.0后,可以在后台管理的“报告”中收到Drupal最新更新的提示。如下图:
比如,我现在使用的是D6.8,Drupal提示我要升级为D6.9。那么如何升级呢?
首先直接下载D6.9的安装包,其中有一个UPGRADE.txt文件,用Editplus或其它高级点的notepad打开(因为是UNIX换行,所以在Windows的记事本中看是一团文字。),里面便是Drupal的升级建议,其中首要的几条是:
- 确定你的系统符合Drupal新版的要求。要求(Requirements)可以在http://drupal.org/requirements中查看。
- 备份所有的相关数据
- 检查自定义模块和主题的兼容性
- 确保你阅读了整个文件内容
第1条没的说,只要是LAMP或能运行PHP和MySQL即可。推荐使用APACHE。
第2条比较重要,我一般是备份一下整个数据库,以及sites/all下面的我自己安装的modules和themes。要不怎么说不要轻易更改Drupal内核文件呢,现在就看出好处来了。如果你开发时偷懒,不使用Drpual API和Hook来开发自定义模块,要升级系统时就很郁闷了,你需要记住你修改了哪些内核文件,而且还要和新版的文件对比再合并,so troubled。另外,建议大家读一下新版有哪些升级,是否对数据库有大的改动。
同时,还有sites/default/下的settings.php配置文件、.htaccess以及robot.txt文件等会被开发者修改的文件,都要留意的备份一下。OK,总结一下,列个表:
- 数据库
- sites/all下面的所有文件
- sites/default/settings.php配置文件。如果是多站点,还需要备份每个站点settings.php文件。如sites/example.com/settings.php。
- .htaccess
- robots.txt
第3条其实也很简单,去你使用的module和theme的project首页,检查一下是否可以使用在新版本中。一般情况,module或theme都是默认适用于同一版本系列的,比如5.x或6.x,微小的版本升级都可直接使用。不过对于像D5到D6这样的重大升级,还是要先看看是否支持D6,然后去下载新版本。
第4条写给英语好的朋友们,UPGRADE.txt文档里列出了升级的步骤,还是值得参考的。下面是我整理的步骤:
- 备份。备份所有能备份的东西。
- 获得超级管理员帐户。就是UserID = 1的用户。
- 将站点设置为off-line即下线状态,这样可以防止在升级时有用户访问。
- 将主题切换至默认主题——Garland。
- 关闭所有的第三方模块和自定义模块。
- 将Drupal自带的安装目录和程序全删除。这里指drupal根目录中除files、sites外其它的任何目录。
- 将新的Drupal程序包解压缩至相同位置。
- 设置好配置文件,如settings.php等。并且要确认是正确的。
- 关键的步骤:运行站点下的update.php,如http://www.example.com/update.php。如果你没权限运行,找到settings.php文件,将里面的$update_free_access设置为TRUE。然后在安装结束后再设置为FALSE。
- 运行update.php成功后,开启自定义和第三方模块modules。
- 再次运行update.php。
- 成功后,将站点设置为“上线on-line”。
- 更新结束。
欢迎朋友们交流升级心得,分享遇到的问题。
2009年1月12日星期一
Drupal Views 2攻略-自定义View模板
上个视频主要讲解了Views 2模块的基本使用技巧。本次视频的主要内容是:如何创建自定义模板文件来定制View样式。敬请收看!
Youku网址为:http://v.youku.com/v_show/id_XNjU2MzcyMjQ=.html
网速快的朋友可去Youtube看,地址为:
网速快的朋友可去Youtube看,地址为:
PS: Youtube生成高清版本可能需要一段时间。
订阅:
博文 (Atom)
