发表时间:2015-05-27来源:网络
drupal的view虽然好使但是在有些情况下我们想根据自己的需求来动态的修改查询条件,这不足为过,那么接下来就告诉你一个很好的方法来修改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的数组元素你就会一目了然了,希望可以帮到大家。
注:上面的例子是我用来将时间日期转换为时间戳的,当然你可以在这里任意的改动
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
xrecorder录屏大师最新版app下载v2.4.4.7 安卓官方版
31.01MB |系统工具
族谱手机版下载v6.6.9 安卓免费版
70.74M |生活服务
族谱网app最新版(改名为族谱)下载v6.6.9 安卓版
70.74M |系统工具
机器人空间站下载v1.4.2 最新版
44.52MB |商务办公
羊小咩下载v9.1.80 最新版
92.19MB |生活服务
华丰云e购下载v1.2.13 安卓版
57.27MB |生活服务
美森网校app下载v3.0.0 安卓最新版
93.1MB |学习教育
口袋助理app最新版下载v8.3.0 安卓官方版
110.86MB |商务办公
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05