You are here

drupal7

内容包括drupal7教程,drupal7汉化,drupal7主题,drupal7模板,drupal7中文手册,drupal7 views,drupal7中文,drupal7安装,drupal7开发,drupal7视频,等

7深入掌握了插件机制

admin 的头像
Submitted by admin on 星期一, 2015-09-21 04:12

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
对插件机制的理解,有了更深的认识。以前总觉得,钩子机制,是Drupal核心最本质,最具特色的一个机制,Drupal之所有这么灵活,就是它本身所待的这种钩子机制。其它模块,如果想与Drupal系统交互,只需要实现相应的钩子就可以了。但是钩子机制本身,也是有很大的局限性的,特别是随着Drupal应用的领域越来越广,这种局限性,就越来越明显的暴露出来。钩子机制有哪些局限性呢?所有的钩子实现都需要放到module文件里面,我们知道,每一个页面,都会加载所有的module文件,把所有的钩子代码都放到module文件里面,

Drupal版本:

6代码更加规范

admin 的头像
Submitted by admin on 星期一, 2015-09-21 04:11

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
首先一个进步就是编码规范,为了让自己的模块,更易于让人接受,自己在后面,使用Coder模块,按照它所给出提示,修正了几乎所有的代码格式问题。问题最多的两个地方,一个就是我把tab键设置成两个空格了,后来手工的一个一个的把tab转为了空格,这样在其它编辑器/IDE下面也是格式良好的;另一个常见的问题,就是控制语句括号的两边要有空格,以前我总是这样写:

Drupal版本:

5 心得体会

admin 的头像
Submitted by admin on 星期一, 2015-09-21 01:57

​作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
通过维护一个这样逐渐流行的社区模块,自己在技术上进步了很多。

Drupal版本:

4 后续的改进:

admin 的头像
Submitted by admin on 星期一, 2015-09-21 01:56

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
​2.0-RC1版本里面,修正了三个小问题,一个是文字错误,一个是日期验证里面星期的日期范围验证有问题,一个是机读名字有可能超过32个字符的问题。都是很小的问题,很快就修正了。在2.0的正式版里面,新增了一个date range2 验证器,删除了date validation模块,将它迁移到了field_validation_deprecated模块里面,修正了数值验证里面的一个小问题。之后基于Drupal8的插件系统,开发了Drupal8下面的1.0alpha1版,学习了Drupal8里面的插件机制。在后面是2.1版,这里面修正了部分验证规则只适用于管理员的问题,我们使用下面的代码搞定了这个问题:
//Always bypass all access checkings.

Drupal版本:

3.2 set_error

admin 的头像
Submitted by admin on 星期一, 2015-09-21 01:39

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
其中set_error使得错误消息的设置更加简单,一句话就能将错误消息设置好了,通常使用这样的代码设置错误消息:
$this->set_error($token);
token_help则是用来在错误消息里面支持占位符(令牌)替换模式的,就是用户在自定义错误消息里面,可以输入可用的占位符,这些占位符最后被替换为相应的变量值。这个技术在Views里面经常遇到,在Field validation的问题列表中,也有相应的功能支持请求。我们来看一下set_error这个函数的代码:

Drupal版本:

3.1 2.0-Beta1版的改进

admin 的头像
Submitted by admin on 星期一, 2015-09-21 01:38

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在完成了2.0 alpha1以后,我花了将近一个星期的时间,写出来了2.0beta1。改进之处有,对于field_validation_validator,在构造函数里面,增加了value这个参数,并为所有的参数设置了默认值,这是一个小的改进。此外,还增加了成员函数set_error、get_default_settings、token_help。

Drupal版本:

3 如何加载一个Ctools插件

admin 的头像
Submitted by admin on 星期一, 2015-09-21 01:37

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在module文件中,还有一个函数field_validation_ctools_plugin_api,这个前面已经讲过了,field_validation.default_field_validation_rules.inc文件和前面所讲的一样。我把UI部分独立了出来,前期只实现了基于Ctools的导出UI,这个足够了,代码和前面的类似,所不同的是,plugins\export_ui下面field_validation_export_ui.inc文件的代码更简单一些,这里纯粹是为了测试我的想法是不是行得通,所以省去了很多功能。

Drupal版本:

页面

Subscribe to RSS - drupal7