2.1 install文件
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
/**
* Implements hook_schema().
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
/**
* Implements hook_schema().
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
实现了验证规则的导出以后,我对Ctools的理解又加深了一步,想着自己能够基于Ctools实现导出功能,一定也能够实现插件形式的验证器。这个想法酝酿了很久了,直到有一天,我看到了这篇文章http://www.ygerasimov.com/ctools-plugins-system,写的很详细。我之所以能够找到这篇文章,就是因为我有这个想法,我把Ctools的相关文档看了几遍,看了几个基于Ctools插件系统的模块,比如Feeds模块。最后找到了这篇文章。这是services模块的一个维护者,所写的文章,services模块也是基于Ctools插件系统的。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
再往下,就是在field_validation\plugins\export_ui里面创建field_validation_export_ui.inc文件,这里的代码有点长:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们获取验证规则的代码也需要相应的调整。我们来看一个根据机读名字加载验证规则的API函数:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在module文件中,我们添加了以下代码:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们来看一下,Field validation的实现,首先是schema的变动:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
Ctools自带了一个帮助文档,里面有导入导出的介绍,在ctools\help下面有export.html和export-ui.html两个介绍,这对我的开发非常有帮助。我至少读了两遍。除此以外,我还找到了几个实现了Ctools export的模块,作为例子,阅读了它们的相关代码。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
Field validation一直都是在进步的,就像有一个用户所说的,每当他有了新的需求的时候(关于Field validation的),Field validation就包含了这样的新特性,恰好满足他的需求。