drupal7修改(添加)view 的查询条件
1、在你的模块中你要声明一个这样和钩子
[php]
function modulename_views_api() {
return array(
'api' => 3,
'path' => drupal_get_path('module', 'modulename') . '/',
);
2、在你的模块目录下面创建一个文件(modulename.views.inc),用来修改view的查询条件 ,里面用到一个钩子,和一个自定义方法
[php]
function modulename_views_query_alter(&$view, &$query) {
if ($view->name == 'viewname') {
$data = _get_views_operationinfo_time_key($query->where[1]['conditions']);
if (count($data) > 0) {
foreach ($data as $d) {
$query->where[1]['conditions'][$d]['value'] = strtotime($query->where[1]['conditions'][$d]['value']);
}
}
}
}
function _get_views_operationinfo_time_key($conditions) {
$data = array();
foreach ($conditions as $key => $val) {
if ($val['field'] == 'fieldname') {
$data[] = $key;
}
}
return $data;
}
以上几个字符的意思:
1、modulename 你的模块名字
2、viewname 你的view的机读名字
3、fieldname 要加条件的字段的名字,这里它是以表名.字段名来规定的
如果疑问请留言,上面的代码如果你把$query这个大数组打印出来找到下标为where的数组元素你就会一目了然了,希望可以帮到大家。
注:上面的例子是我用来将时间日期转换为时间戳的,当然你可以在这里任意的改动
上一篇: PHP如何禁止图片文件的被盗链
推荐阅读
-
PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例
-
分页查询关键代码 多条件查询关键代码 删除选中商品关键代码 修改要先回显再修改 修改要先回显再修改 同一业务集中使用同一servlet的方法
-
day02_品优购电商项目_02_前端框架AngularJS入门 + 品牌列表的实现 + 品牌列表分页的实现 + 增加/修改/删除品牌的实现 + 品牌分页条件查询的实现_用心笔记
-
测试Hibernate添加查询修改删除学生信息(一对多的关系)
-
git log根据特定条件查询日志并统计修改的代码行数
-
信息题的查询+批量删除+修改+添加等代码实现(效果如图)
-
drupal7修改(添加)view 的查询条件
-
drupal7修改(添加)view 的查询条件
-
Laravel之DB类操作数据库(创建表、添加字段、创建控制器、添加数据、修改数据、删除数据、显示查询数据、返回ID的方法getId)
-
Sql添加,修改,查询分区表中的数据