3.1 2.0-Beta1版的改进

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

Drupal版本: 

3 如何加载一个Ctools插件

作者:老葛,北京亚艾元软件有限责任公司,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版本: 

2.4 定义一个具体的插件field_validation_min_length_validator

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
打开plugins\validator这个目录,我们看到这里定义了一个简单的验证器field_validation_min_length_validator。我们打开这个文件:

Drupal版本: 

2.3 创建field_validation_validator抽象类

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们来看一下field_validation_validator文件,这是一个抽象类,其它的字段验证器都继承自这个类。

Drupal版本: 

2.2 简洁的module文件

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
再来看module文件,不足100行的代码

Drupal版本: 

2.1 install文件

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
/**
* Implements hook_schema().

Drupal版本: 

2 Ctools 插件开发

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
实现了验证规则的导出以后,我对Ctools的理解又加深了一步,想着自己能够基于Ctools实现导出功能,一定也能够实现插件形式的验证器。这个想法酝酿了很久了,直到有一天,我看到了这篇文章http://www.ygerasimov.com/ctools-plugins-system,写的很详细。我之所以能够找到这篇文章,就是因为我有这个想法,我把Ctools的相关文档看了几遍,看了几个基于Ctools插件系统的模块,比如Feeds模块。最后找到了这篇文章。这是services模块的一个维护者,所写的文章,services模块也是基于Ctools插件系统的。

Drupal版本: 

1.4 实现导出UI插件

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
再往下,就是在field_validation\plugins\export_ui里面创建field_validation_export_ui.inc文件,这里的代码有点长:

Drupal版本: 

页面

关注我们的微信

关注我们,体验一下Drupal微信(Wechat)模块的最新进展

Think in Drupal 官方微信 亚艾元官方微信

 

Subscribe to Think in Drupal RSS