格式:views_get_view($name, $reset = FALSE)(适合drupal 6和7版本)
作用:从数据库或者默认的views得到一个view
说明:$name 是view的名称.$reset若设为真, 在负载缓存内复位此项。当你确定你需要一个新的view时,才使用这个参数。
使用:这里假设创建了一个viewtest的viewtest
1,用代码输出views
- <?php
- $views=views_get_view("viewtest");
- $views->preview();
- $results=$views->result;
- //下面的代码与views无关的
- print_r($results);
2,传入argument。
- <?php
- $views=views_get_view("viewtest");
- $views->set_arguments(array(3));
- $views->preview();
- $results=$views->result;
- print_r($results);
- ?>
3,控制输出的结果数 目前我们的结果都是只输出10个结果,我现在想输出50个结果。 对比例子一:只增加了两行
- <?php
- $views=views_get_view("viewtest");
- $views->set_display('default');
- $views->display_handler->set_option('items_per_page', 50);
- $views->preview();
- $results=$views->result;
- print_r($results);
- ?>
4,输出views的HTML print $views->preview(); 5,控制是否分页 $views->display_handler->set_option(‘use_pager’,1); 当为0时则不分页 6,控制当前显示在views的第三页而不是默认的第一页结果]
- $views=views_get_view("viewtest");
- //$views->args=array(1);
- $views->pager["use_pager"]=1;//要分页
- $views->pager["items_per_page"]=40;//每页40个
- $views->pager["current_page"]=3;//定位到第3页
- $views->execute();//执行
- print_r($views->result);
上面的几个例子用的是preview方法,而这里用的是execute方法,这完全是views的设计者设计出来的。当然,你可以都改为这个例子的设定,但就我发现,在大规模测试的时候,我发现execute的性能比preview要差一点点(并不明显). 注:以上实例选自drupal中文论坛上trackself 所写的views文章系列。在这里感谢下作者的分享。
Drupal 版本
挺好用的
刚刚就用这个实现了分类列表 很方便
龙马威武,原来只是简单的用这个方法,现在有了更具体的
龙马威武,原来只是简单的用这个方法,现在有了更具体的
感谢分享,drupal中文文档太有限了,感谢大牛们的奉献。
感谢分享,drupal中文文档太有限了,感谢大牛们的奉献。
简单明了