Drupal6 Q&A
Q: 学习开发,怎么开始?
A: 首先需要熟悉drupal的后台操作,了解内容类型、缩略图、views等基本操作,然后就可以学习HOOK与drupal API。Drupal官方对开发者很体贴,drupal API文档都很完善,查API可以上api.drupal.org。下载example module,这个module含有几乎所有的API实现例子,并且一装即用,代码非常简洁,是个必备参考工具。
Q: 如果要调试某个函数或者需要生成大量的测试数据,应该如何?
A: 可以安装Devel模块,在devel/php的位置就有PHP代码输入栏,可以直接用于调试与运行某个PHP函数。Devel模块中的Generate content就是内容生成器,生成的内容可以包含自定义的字段,并且可以扩展生成的内容,例如给定的图片、视频等。
Q: 开发人员必需安装Devel吗?
A: 基本上是的。Drupal的hook机制,基本是基于一个大数组定架构。一个文章怎么显示,一个表单怎么输出,用什么函数处理回调,都是数组进行定义。所以查数组内容是必需的事,这样才可以对系统深入了解。而Devel可以很方便查出node, user, term等复杂的数据结构,让数据显示一目了然,这么好的工具你都不用吗?
Q: Drupal慢吗?
A: 对比于Joomla,Drupal是慢了点。因为Drupal采用hook的加载过程,处理hook需要消耗一定的CPU资源。并且一个需求较为复杂的项目需要安装非常多的module,我就试过一个项目用了80个module。不过drupal的缓存机制也相当强大,也有非常强大的第三方缓存module。例如boost与authcache, boost可以提供非注册用户静态缓存,authcache可以针对不同角色提供数据缓存。只要熟悉使用这两个 module,效率问题也就不成问题。而且功能强大的系统,往往就是运行效率低,你如果不需要开启那么多模块,用Drupal只做很简单的事情,它是不会慢的。
Q: 默认的后台文章管理没有搜索,也不能设置排序,如何强化?
A: 可以安装views_bulk_operations,这是个views插件,可以很简易地制作管理列表,并可以针对角色的权限显示不同的操作功能。