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要差一点点(并不明显).

参考资料[ ]