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的数组元素你就会一目了然了,希望可以帮到大家。
在原版的基础上做了一下修正评论没有提交正文的问题特价商品的调用连接问题去掉了一个后门补了SQL注入补了一个过滤漏洞浮动价不能删除的问题不能够搜索问题收藏时放入购物车时出错点放入购物车弹出2个窗口修正主题添加问题商家注册页导航连接问题销售排行不能显示更多问题热点商品不能显示更多问题增加了服务器探测 增加了空间使用查看 增加了在线文件编辑增加了后台管理里两处全选功能更新说明:后台的部分功能已经改过前台
0
注:上面的例子是我用来将时间日期转换为时间戳的,当然你可以在这里任意的改动
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号