Views get view
来自站长百科
导航:上一页
- 格式: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要差一点点(并不明显).
参考资料[ ]
- 部分参考自跟踪人生