作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
function field_validation_get_bundle_rules($entity_type, $bundle) {
$rules = array();
$sql = "SELECT * FROM {field_validation_rule} WHERE entity_type = :entity_type AND bundle = :bundle ORDER BY ruleid DESC";
$result = db_query($sql, array(':entity_type' => $entity_type, ':bundle' => $bundle), array('fetch' => PDO::FETCH_ASSOC));
foreach ($result as $rule) {
$rules[$rule['ruleid']] = $rule;
}
return $rules;
}
/**
……
*/
function field_validation_rule_components_basic($components) {
……
}
/**
* Delete a rule and dependencies
*/
function field_dynamic_delete_rule($ruleid) {
// delete rule
db_delete('field_validation_rule')
->condition('ruleid', $ruleid)
->execute();
}
这个文件里面主要包含了有关验证规则API函数,比如删除规则field_dynamic_delete_rule,获取一个规则field_validation_get_rule,获取一个字段上的规则field_validation_get_field_rules,获取一个bundle上面的规则field_validation_get_bundle_rules。
这里的field_validation_rule_components_basic是复制过来的,这里应该没有什么用处。
这里的代码没有什么特别的,主要就是数据库的查询操作,看看这里的代码或许对于熟悉Drupal7下面的数据库操作有点帮助,不过这里的查询方式都是最原始的db_query。在后面的项目中,我更倾向于使用EntityFieldQuery。