欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

hook_views_post_render hook_views_pre_render 自己亲自做的 有大用

////应该是即将输出前的东西  render 应该在执行sql语句前执行 反正肯定在views_pre_view 之后执行
//function shipingzhongcustom_views_pre_render (&$view)
//{
// $arg0 =arg(0);
//  if ($view->name=='allcontentview'  && $arg0='listkefu') {
//     $filters = $view->display_handler->get_option('filters');
//     dsm($filters['field_qq_property_value_many_to_one']);
//     var_dump("shipingzhongcustom_views_pre_render");
//  }
//}
//在view前处理
function  shipingzhongcustom_views_pre_view(&$view, &$display_id, &$args)
{
   global $user;

   //$arr = get_object_vars($view);//得到view数组
   //var_dump(array_keys($arr)); //得到 view的所有键组成的数组
   //var_dump($view->name); //得到的是views的名称 allcontentview
   //var_dump($view->current_display); //得到的是当前视图display  的名称 page_14 也就是$display_id吧
   //var_dump($view->db_table); //得到的是字段名
   // $arr = get_object_vars($view->display_handler);得到display_handler 也就是在view中配置所组成的数组
   // var_dump(array_keys($arr));exit;//得到display_handler 也就是在view中配置的所有键
   // var_dump($view->display_handler->get_option('filters'));得到过滤器数组

   //当是allcontentview视图 且  下面的page_14(总表) 或  feed_12(总表的excel)
   if( $view->name=='allcontentview' && ($display_id=='page_14' || $display_id=='feed_12' ||
         $display_id=='page_20' || $display_id=='page_19' || $display_id=='feed_13' || $display_id=='page_21' || $display_id=='feed_14'))
   {
      $arg0 = arg(0);
      $allfields = $view->display_handler->get_option('fields');//得到所有的显示的字段的数组
      if(!user_access('view field_baidu_szfzxx_xiaofei') && $arg0='listzongwuzhong') {
         //unset($allfields['php']); //没有 查看 (百度 szfzxx 消费)    (所以无法计算单价)的时候 删掉这个列 (百度 szfzxx 单价)吧
         //unset($allfields['php_3']); //没有 查看 (百度 szfzxx 消费)  的时候 删掉这个列 (百度 竞价 总消费)吧
         //unset($allfields['php_4']); //没有 查看 (百度 szfzxx 消费)  的时候  (当然也就无权查看百度szfzxx点击) 删掉这个列 (百度 竞价  总点击)吧
         //unset($allfields['php_5']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
      }
      if(!user_access('view field_baidu_szfzxx_xiaofei') && $arg0='listzongadb') {
         //unset($allfields['php']); //没有 查看 (百度 szfzxx 消费)    (所以无法计算单价)的时候 删掉这个列 (百度 szfzxx 单价)吧
         //unset($allfields['php_3']); //没有 查看 (百度 szfzxx 消费)  的时候 删掉这个列 (百度 竞价 总消费)吧
         //unset($allfields['php_4']); //没有 查看 (百度 szfzxx 消费)  的时候  (当然也就无权查看百度szfzxx点击) 删掉这个列 (百度 竞价  总点击)吧
         //unset($allfields['php_5']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
      }
      if(!user_access('view field_baidu_szfzxx_xiaofei') && $arg0='listzongzong') {
//       unset($allfields['php']); //没有 查看 (百度 szfzxx 消费)    (所以无法计算单价)的时候 删掉这个列 (百度 szfzxx 单价)吧
//        unset($allfields['php_3']); //没有 查看 (百度 szfzxx 消费)  的时候 删掉这个列 (百度 竞价 总消费)吧
//       unset($allfields['php_4']); //没有 查看 (百度 szfzxx 消费)  的时候  (当然也就无权查看百度szfzxx点击) 删掉这个列 (百度 竞价  总点击)吧
//       unset($allfields['php_5']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
//       unset($allfields['php_25']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
//       unset($allfields['php_26']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
//       unset($allfields['php_27']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
//       unset($allfields['php_22']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
//       unset($allfields['php_23']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
//       unset($allfields['php_24']); //没有 查看 (百度 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (百度 竞价 总平均 单价)吧
      }

      if(!user_access('view field_baidu_400_xiaofei')) {

//       unset($allfields['php_1']); //没有 查看 (百度 4000512126 消费)  的时候 删掉这个列 (百度 4000512126 单价)吧

      }
      if(!user_access('view field_baidu_ukart_xiaofei')) {

//       unset($allfields['php_2']); //没有 查看 (百度 ukart086 消费)  的时候 删掉这个列 (百度 ukart086 单价)吧

      }



      if(!user_access('view field_sougou_wzfzxx_xiaofei')) {
//       unset($allfields['php_9']); //没有 查看 (搜狗  wzfzxx 消费)  的时候 删掉这个列 (搜狗  wzfzxx 单价)吧
//       unset($allfields['php_6']); //没有 查看 (搜狗  wzfzxx 消费)  的时候 删掉这个列 (搜狗  wzfzxx 总消费)吧
//       unset($allfields['php_7']); //没有 查看 (搜狗  wzfzxx  消费)  的时候  (当然也就无权查看搜狗  wzfzxx点击) 删掉这个列 (搜狗竞价总点击 (它只有一个wzfzxx))吧
//       unset($allfields['php_8']); //没有 查看 (搜狗  wzfzxx   消费)  的时候  (所以无法计算单价) 删掉这个列     (搜搜 竞价 总平均 单价(它只有一个wzfzxx))吧
      }

      if(!user_access('view field_sousou_szfzxx_xiaofei')) {
//       unset($allfields['php_10']); //没有 查看 (搜搜 szfzxx 消费)  的时候 删掉这个列 (搜搜 szfzxx 单价)吧
//        unset($allfields['php_13']);//没有 查看 (搜搜 szfzxx 消费)  的时候 删掉这个列 (搜搜 竞价 总消费)吧
//        unset($allfields['php_14']);//没有 查看 (搜搜 szfzxx 消费)  的时候  (当然也就无权查看搜搜szfzxx点击) 删掉这个列 (搜搜 竞价  总点击)吧
//        unset($allfields['php_15']);//没有 查看 (搜搜 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (搜搜 竞价 总平均 单价)吧

      }
      if(!user_access('view field_sousou_400_xiaofei')) {
//       unset($allfields['php_11']); //没有 查看 (搜搜 4000512126 消费)  的时候 删掉这个列 (搜搜 4000512126  单价)吧

      }
      if(!user_access('view field_baidu_400_jy_xiaofei')) {
//       unset($allfields['php_12']); //没有 查看 (百度 4000512126教育 消费)  的时候 删掉这个列 (百度 4000512126教育 单价)吧

      }
      if(!user_access('view field_360_szfzxx_xiaofei')) {
//       unset($allfields['php_16']); //没有 查看 (360 szfzxx 消费)  的时候 删掉这个列 (360 szfzxx 单价)吧
//       unset($allfields['php_19']); //没有 查看 (360 szfzxx 消费)  的时候 删掉这个列 (360 竞价 总消费)吧
//       unset($allfields['php_20']); //没有 查看 (360 szfzxx 消费)  的时候  (当然也就无权查看360szfzxx点击) 删掉这个列 (360 竞价  总点击)吧
//       unset($allfields['php_21']); //没有 查看 (360 szfzxx 消费)  的时候   (所以无法计算单价)删掉这个列     (360 竞价 总平均 单价)吧
      }
      if(!user_access('view field_360_400_xiaofei')) {
//       unset($allfields['php_17']); //没有 查看 (360 4000512126 消费)  的时候 删掉这个列 (360 4000512126 单价)吧

      }
      if(!user_access('view field_360_ukart_xiaofei')) {
//       unset($allfields['php_18']); //没有 查看 (360 ukart 消费)  的时候 删掉这个列 (360 ukart 单价)吧

      }
      //查看竞价总表计算的权限
      if (!user_access('access jingjia zong jisuan'))
      {

//       unset($allfields['php_22']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_23']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_24']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_25']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_26']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_27']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_28']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_29']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_30']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_40']); //没有 查看 竞价总表计算的权限
//       unset($allfields['php_41']); //没有 查看 竞价总表计算的权限
      }
      //查看 客服总表计算的权限
      if(!user_access('access kefu zong jisuan')) {
//       unset($allfields['php_31']); //没有 查看 客服总表计算的权限
//       unset($allfields['php_32']); //没有 查看 客服总表计算的权限
//       unset($allfields['php_33']); //没有 查看 客服总表计算的权限
//       unset($allfields['php_34']); //没有 查看 客服总表计算的权限
//       unset($allfields['php_35']); //没有 查看 客服总表计算的权限
//       unset($allfields['php_36']); //没有 查看 客服总表计算的权限
      }
      //var_dump($allfields['edit_node']);
      //var_dump($allfields['edit_node_1']);
      //var_dump($allfields['edit_node_2']);
      //echo "<pre>";
      //   var_dump($allfields);exit;
      //看有没有编辑任意竞价总表权限
//    unset($allfields['edit_node']);  //看有没有编辑任意竞价总表权限 因为使用php_37 这里直接移除
//    unset($allfields['edit_node_1']);   //看有没有编辑任意客服总表权限 因为使用php_38 这里直接移除
//    unset($allfields['edit_node_2']); //看有没有编辑任意SEO总表权限 因为使用php_39 这里直接移除
      if(!user_access('edit any jingjiazongbiaotype content')) {

//       unset($allfields['php_37']);  //看有没有编辑任意竞价总表权限
      }
      //看有没有编辑任意客服总表权限
      if(!user_access('edit any kefuzongbiaotype content')) {

//       unset($allfields['php_38']);  //看有没有编辑任意竞价总表权限
      }
      //看有没有编辑任意SEO总表权限
      if(!user_access('edit any seozongbiaotype content')) {

         //unset($allfields['php_39']);  //看有没有编辑任意竞价总表权限
      }
      if(!user_access('view field_baidu_wm_szfzxx_xiaofei')) {
//       unset($allfields['php_42']); //没有 查看 (百度 szfzxx网盟 消费)  的时候 删掉这个列 (szfzxx网盟 单价)吧

      }

      //$onlyIndexTonjingFilter 表示只有首页统计的时候,就不会用到下面的代码
      //为真的时候 就不会执行下面的代码 即为假的时候 才执行下面的代码
      global $onlyIndexTonjingFilter;

      if(!$onlyIndexTonjingFilter){
         //在去掉某些字段后  最后超越这个数组
         $view->display_handler->override_option('fields',$allfields);
         $filters = $view->display_handler->get_option('filters');
         $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
         $view->display_handler->override_option('filters', $filters);
      }

   }

   if($view->name=='wangshangbaoming' &&  ($display_id=='page_1'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_wsbm_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='wangshangbaoming' &&  ($display_id=='page_4'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_wsbm_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }



   if($view->name=='wangshangbaoming' &&  ($display_id=='feed_1'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_wsbm_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }

   if($view->name=='allcontentview' &&  ($display_id=='page_3'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_time_value']['default_date'] = date('Y-m').'-01';
      if(empty($_GET['yxwgz'])){
         //假如是普通的 不带$_GET['yxwgz']参数 即 http://w.kfqd.cn/listkefuzg
         //就移除掉 $filters['field_genzong_time_value'] 的设置 默认跟踪时间为空的 所以这里要去掉 好让!empty($_GET['yxwgz'])发挥作用
         unset($filters['field_genzong_time_value']);
      }


      $view->display_handler->override_option('filters', $filters);
   }
// $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
// print $export;
   //var_dump($filters['field_is_baoming_value_many_to_one']);
   if($view->name=='allcontentview' &&  ($display_id=='page_3') &&  !empty($_GET['yxwgz']) )
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_is_baoming_value_many_to_one']['operator'] = 'not';
      $filters['field_is_baoming_value_many_to_one']['value'] = '是';
      $filters['field_is_dingjing_value_many_to_one']['operator'] = 'not';
      $filters['field_is_dingjing_value_many_to_one']['value'] = '是';

      $filters['field_time_value']['default_date'] = '2017-03-01';
       $filters['field_chat_status_value_many_to_one']['value']=array('complete'=>'complete');
      if($_GET['yxwgz']=='yxwgzjyy'){
//       var_dump($filters['field_suozaixiaoqu_value_many_to_one']);

//       $filters['field_suozaixiaoqu_value_many_to_one']['value'] = array('wz'=>'wz');
         $filters['field_suozaixiaoqu_value_many_to_one']['value'] = array('wz'=>'wz','xq'=>'xq');
         $filters['field_suozaixiaoqu_value_many_to_one']['expose']['single'] =0;

      }
      else if ($_GET['yxwgz']=='yxwgzhd'){
         $filters['field_suozaixiaoqu_value_many_to_one']['value'] = array('hd'=>'hd');
         $filters['field_suozaixiaoqu_value_many_to_one']['expose']['single'] =1;
      }

//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      $view->display_handler->override_option('filters', $filters);
   }

   if($view->name=='allcontentview' &&  ($display_id=='page_35'))
   {
      $filters = $view->display_handler->get_option('filters');
      //$filters['field_time_value']['default_date'] = date('Y-m').'-01';

//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      if(empty($_GET['yxwgz'])) {
         //假如是普通的 不带$_GET['yxwgz']参数 即 http://w.kfqd.cn/listkefuzg
         //就移除掉 $filters['field_genzong_time_value'] 的设置 默认跟踪时间为空的 所以这里要去掉 好让!empty($_GET['yxwgz'])发挥作用
         unset($filters['field_genzong_time_value']);
      }
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_35') && !empty($_GET['yxwgz']))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_is_baoming_value_many_to_one']['operator'] = 'not';
      $filters['field_is_baoming_value_many_to_one']['value'] = '是';
      $filters['field_is_dingjing_value_many_to_one']['operator'] = 'not';
      $filters['field_is_dingjing_value_many_to_one']['value'] = '是';
      //$filters['field_time_value']['default_date'] = '2017-03-01';

//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_35') &&  !empty($_GET['yxwgz']) )
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_time_value']['default_date'] = '2017-03-01';
      $filters['field_chat_status_value_many_to_one']['value']=array('complete'=>'complete');
//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      $view->display_handler->override_option('filters', $filters);
   }

   if($view->name=='allcontentview' &&  ($display_id=='block_1'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_time_value']['default_date'] = '2017-03-01';
//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      if(empty($_GET['yxwgz'])) {
         //假如是普通的 不带$_GET['yxwgz']参数 即 http://w.kfqd.cn/listkefuzg
         //就移除掉 $filters['field_genzong_time_value'] 的设置 默认跟踪时间为空的 所以这里要去掉 好让!empty($_GET['yxwgz'])发挥作用
         unset($filters['field_genzong_time_value']);
      }
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='block_2'))
   {
      $filters = $view->display_handler->get_option('filters');

      $filters['field_time_value']['default_date'] = '2017-03-01';
      $view->display_handler->override_option('filters', $filters);
      //$filters['field_time_value']['default_date'] = date('Y-m').'-01';

//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      if(empty($_GET['yxwgz'])) {
         //假如是普通的 不带$_GET['yxwgz']参数 即 http://w.kfqd.cn/listkefuzg
         //就移除掉 $filters['field_genzong_time_value'] 的设置 默认跟踪时间为空的 所以这里要去掉 好让!empty($_GET['yxwgz'])发挥作用
         unset($filters['field_genzong_time_value']);
      }
      $view->display_handler->override_option('filters', $filters);
   }

   if($view->name=='allcontentview' &&  ($display_id=='block_1') && !empty($_GET['yxwgz']))
   {

      $filters = $view->display_handler->get_option('filters');

      $filters['field_is_baoming_value_many_to_one']['operator'] = 'not';
      $filters['field_is_baoming_value_many_to_one']['value'] = '是';
      $filters['field_is_dingjing_value_many_to_one']['operator'] = 'not';
      $filters['field_is_dingjing_value_many_to_one']['value'] = '是';
      $filters['field_chat_status_value_many_to_one']['value']=array('complete'=>'complete');
      //$filters['field_time_value']['default_date'] = '2017-03-01';

//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='block_2') && !empty($_GET['yxwgz']))
   {

      $filters = $view->display_handler->get_option('filters');
      $filters['field_is_baoming_value_many_to_one']['operator'] = 'not';
      $filters['field_is_baoming_value_many_to_one']['value'] = '是';
      $filters['field_is_dingjing_value_many_to_one']['operator'] = 'not';
      $filters['field_is_dingjing_value_many_to_one']['value'] = '是';
      $filters['field_chat_status_value_many_to_one']['value']=array('complete'=>'complete');
      //$filters['field_time_value']['default_date'] = '2017-03-01';

//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      $view->display_handler->override_option('filters', $filters);
   }


   if($view->name=='allcontentview' &&  ($display_id=='feed_3'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_15'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_27'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_16'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_17'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_18'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_19'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_18'))
   {
      $allfields = $view->display_handler->get_option('fields');//得到所有的显示的字段的数组
      if(!user_access('edit any jingjiazongbiaotype content')) {

         unset($allfields['php_37']);  //看有没有编辑任意竞价总表权限
      }
      //看有没有编辑任意客服总表权限
      if(!user_access('edit any kefuzongbiaotype content')) {

         unset($allfields['php_38']);  //看有没有编辑任意竞价总表权限
      }
      $view->display_handler->override_option('fields',$allfields);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_26'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_28'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_29'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_34'))
   {
      $filters = $view->display_handler->get_option('filters');
      $filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
      $view->display_handler->override_option('filters', $filters);
   }
   if($view->name=='allcontentview' &&  ($display_id=='page_33'))
   {
      $filters = $view->display_handler->get_option('filters');
//    $export = kprint_r($filters, TRUE); // $vars - is a variable which you want to print.
//    print $export;
      //最大时间为7天之前
      $endTime = date('Y-m-d',(time()-15*24*60*60));
      $filters['field_shangmeng_time_value_1']['default_date'] = $endTime;
      $view->display_handler->override_option('filters', $filters);
   }


}
////在render前处理
//function shipingzhongcustom_views_pre_render(&$view) {
// 
// //得到第一个对象
// $obj1 = $view->result[0];
// //把它转成数组
//    $arr1 = get_object_vars($obj1);
//    //把这个数组每个字段循环赋值为 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//    foreach($arr1 as $key=>$value)
//    {
//     $arr1[$key] = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
////       $arr1[$key] = "111111111111";
//    }
//    //再把这个数组转成对象
//    $objLast=(object)$arr1;
//    
//    $view->result[]=$objLast;
//}
//在post render前处理
//function shipingzhongcustom_views_post_render(&$view, &$output, &$cache) {
// $result = kprint_r($view,TRUE);
// print $result;
// $result = kprint_r($output,TRUE);
// print $result;
// $result = kprint_r($cache,TRUE);
// print $result;
//
//}

//执行sql查询后执行
//function shipingzhongcustom_views_post_execute(&$view) {
// If there are more than 100 results, show a message that encourages the user
// to change the filter settings.
// (This action could be performed later in the execution process, but not
// earlier.)
//  $arr = get_object_vars($view);
//  var_dump(array_keys($arr));exit;//这里得到view对象的各个字段
//var_dump($view->pager);exit;
//var_dump($view->current_display);var_dump($view->name);
//当是allcontentview视图 且  下面的page_14(总表)


//    if( $view->name=='allcontentview' &&  ($view->current_display=='page_14'))
//    {
//     $currentPage = $_GET['page'];
//     //假如 /listzong 后面没有page参数的时候 跳到最后一页
//     if(empty($currentPage) && strcmp(strval($currentPage),'0')!=0)     {
//         $lastPage = intval(ceil($view->total_rows/$view->pager['items_per_page']));
//         $lastPage = $lastPage-1;
//         header('LOCATION:  /listzong?page='.$lastPage);
//         exit;
//         //drupal_goto('listzong?page='.$lastPage);
//     }
//    }


//  if ($view->total_rows > 100) {
//    drupal_set_message(t('You have more than 100 hits. Use the filter settings to narrow down your list.'));
//  }
//}
//应该是即将输出前的东西  render 在执行sql语句后执行
//function shipingzhongcustom_views_pre_render (&$view)
//{
// //$arr = get_object_vars($view);
// //var_dump(array_keys($arr));
//}
//执行sql查询后执行

function shipingzhongcustom_views_pre_render (&$view)
{
// $arr = get_object_vars($view);
// var_dump(array_keys($arr));
// $result = kprint_r($view,TRUE);
// print $result;
   if ($view->name == 'allcontentview' && $view->current_display=='page_3') {
      $results = $view->result;
      global $user;
      //有定金量的时候,吴中的接待只能看吴中的定金量
      if(in_array('吴中接待只看吴中不看华东定金量',$user->roles)) {

         foreach($results as $key=>$result){
            if($result->node_data_field_is_dingjing_field_is_dingjing_value=='是'){
               $account = null;
               $account = user_load(array('name' => check_plain($result->node_data_field_dingjing_writer_field_dingjing_writer_value)));
               //假如定金量填写人 是华东的话 就移除它
               if(in_array('华东接待只看华东不看吴中定金量',$account->roles)){
                  unset($results[$key]);
               }
            }
         }
         $view->result = $results;
      }
      //有定金量的时候,华东的接待只能看华东的定金量
      if(in_array('华东接待只看华东不看吴中定金量',$user->roles)) {
         foreach($results as $key=>$result){
            if($result->node_data_field_is_dingjing_field_is_dingjing_value=='是'){
               $account = null;
               $account = user_load(array('name' => check_plain($result->node_data_field_dingjing_writer_field_dingjing_writer_value)));
               //假如定金量填写人 是吴中的话 就移除它
               if(in_array('吴中接待只看吴中不看华东定金量',$account->roles)){
                  unset($results[$key]);
               }
            }
         }
         $view->result = $results;
      }
   }
// else if ($view->name == 'allcontentview' && $view->current_display=='page_33') {
//    $results = $view->result;
//    foreach($results as $key=>$result){
//       $node=(object)null;
//       $node = node_load($result->nid);
//       $next_times = $node->field_genzong_next_time;
//       //这里移除掉 最后一个 下次跟踪时间不为空的 node (如果为下次跟踪时间为空的话 就表示已经是转向上门的了)
//       if(!empty($next_times[count($next_times)-1]['value'])){
//          unset($results[$key]);
//       }
//    }
//    $view->result = $results;
// }




}

//应该是即将输出前的东西 post_render  在执行sql语句后 执行 所以肯定是在hook_views_pre_render之后执行
//function shipingzhongcustom_views_post_render (&$view, &$output, &$cache)
//{
// //$arr = get_object_vars($view);
// //var_dump(array_keys($arr));
// //str_re
// // exit;
//}

普通分类: