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

这里的技术是共享的

You are here

在模板或模块嵌入Views2的示范代码

shiping1 的头像

在模板或模块嵌入Views2的示范代码

Salonbus 在 星期五, 01/29/2010 - 15:26 提交

官方文档:https://drupal.org/node/1655012

专门的模块:Embed Views Display

--------- last updated at 2013-8-8

 

最新views 3.x(drupal 7)的变动

例子: 不显示pager,仅显示6条记录,如下:

        $view->display_handler->set_option('pager', array('type'=>'some','options' => array('items_per_page' => 6)));

========================================================================

  $view = views_get_view('views_name');
  $view->set_display('default');
  $view->display_handler->set_option('items_per_page', 3);
  $view->display_handler->set_option('use_pager', FALSE);
  print $view->preview(NULL, array($arg));

要返回查询的行数,可调用:print $view->total_rows;

(要注意的是:当views使用pager才自动计算总行数;如果use_pager=FALSE,需强制指定:$view->get_total_rows = TRUE

 

 

其它的一些写法:

官方推荐的:print views_embed_view('view_name','default',arg(1));

单独指定Arguments:$view->set_arguments(array(arg1,arg2));

又一种写法:

$view = views_get_view('video');
print $view->execute_display('default', $args);

补充:views参数可另外指定:
$view->set_arguments(array($tid));
$view->preview();

文章分类:

文章标签:

评论

<?php
    $v = views_get_view('moreNews');
    $v->init_display('default');
    $v->display_handler->set_option('items_per_page', 0);
    $v->display_handler->set_option('offset', 2);
    echo $v->execute_display();       
?>

How do you turn this on?

Views导出的代码,可以进一步深入研究:

$view = new stdClass();
$view->name = 'Archive';
$view->descrīption = 'Monthly Archive';
$view->access = array (
0 => '1',
1 => '2',
);
$view->view_args_php = '';
$view->page = TRUE;
$view->page_title = '按月归档';
$view->page_header = '';
$view->page_header_format = '4';
$view->page_footer = '';
$view->page_footer_format = '4';
$view->page_empty = '';
$view->page_empty_format = '4';
$view->page_type = 'teaser';
$view->url = 'archive';
$view->use_pager = TRUE;
$view->nodes_per_page = '50';
$view->block = TRUE;
$view->block_title = 'Blog 归档';
$view->block_header = '';
$view->block_header_format = '4';
$view->block_footer = '';
$view->block_footer_format = '4';
$view->block_empty = '';
$view->block_empty_format = '4';
$view->block_type = 'list';
$view->nodes_per_block = '5';
$view->block_more = TRUE;
$view->block_use_page_header = FALSE;
$view->block_use_page_footer = FALSE;
$view->block_use_page_empty = FALSE;
$view->sort = array (
array (
'tablename' => 'node',
'field' => 'created',
'sortorder' => 'DESC',
'options' => 'normal',
),
);
$view->argument = array (
array (
'type' => 'monthyear',
'argdefault' => '5',
'title' => '按月归档',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
);
$view->field = array (
array (
'tablename' => 'node',
'field' => 'title',
'label' => '',
'handler' => 'views_handler_field_nodelink',
'options' => 'link',
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'node',
'field' => 'type',
'operator' => 'OR',
'options' => '',
'value' => array (
0 => 'blog',
),
),
);
$view->exposed_filter = array (
);
$view->requires = array(node);
$views[$view->name] = $view;

<span style="color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 187);">&lt;?php<br />
	<br />
	&nbsp;&nbsp;&nbsp; $view </span><span style="color: rgb(0, 119, 0);">= </span><span style="color: rgb(0, 0, 187);">views_get_view</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(221, 0, 0);">&#39;Your_View_Name_HERE&#39;</span><span style="color: rgb(0, 119, 0);">) or die (</span><span style="color: rgb(221, 0, 0);">&#39;no such view&#39;</span><span style="color: rgb(0, 119, 0);">);<br />
	&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 187);">$view</span><span style="color: rgb(0, 119, 0);">-&gt;</span><span style="color: rgb(0, 0, 187);">set_display</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(221, 0, 0);">&#39;page_1&#39;</span><span style="color: rgb(0, 119, 0);">);<br />
	&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 187);">$view</span><span style="color: rgb(0, 119, 0);">-&gt;</span><span style="color: rgb(0, 0, 187);">execute</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(221, 0, 0);">&#39;page_1&#39;</span><span style="color: rgb(0, 119, 0);">);<br />
	&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 187);">$plugin </span><span style="color: rgb(0, 119, 0);">= </span><span style="color: rgb(0, 0, 187);">$view</span><span style="color: rgb(0, 119, 0);">-&gt;</span><span style="color: rgb(0, 0, 187);">display_handler</span><span style="color: rgb(0, 119, 0);">-&gt;</span><span style="color: rgb(0, 0, 187);">get_cache_plugin</span><span style="color: rgb(0, 119, 0);">();<br />
	&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 187);">$cache </span><span style="color: rgb(0, 119, 0);">= </span><span style="color: rgb(0, 0, 187);">cache_get</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$plugin</span><span style="color: rgb(0, 119, 0);">-&gt;</span><span style="color: rgb(0, 0, 187);">get_output_key</span><span style="color: rgb(0, 119, 0);">(), </span><span style="color: rgb(0, 0, 187);">$plugin</span><span style="color: rgb(0, 119, 0);">-&gt;</span><span style="color: rgb(0, 0, 187);">table</span><span style="color: rgb(0, 119, 0);">);<br />
	&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 187);">$timestamp </span><span style="color: rgb(0, 119, 0);">= </span><span style="color: rgb(0, 0, 187);">$cache</span><span style="color: rgb(0, 119, 0);">-&gt;</span><span style="color: rgb(0, 0, 187);">created</span><span style="color: rgb(0, 119, 0);">;<br />
	&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(0, 0, 187);">$show_date </span><span style="color: rgb(0, 119, 0);">= </span><span style="color: rgb(0, 0, 187);">format_date</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$timestamp</span><span style="color: rgb(0, 119, 0);">, </span><span style="color: rgb(221, 0, 0);">&#39;custom&#39;</span><span style="color: rgb(0, 119, 0);">, </span><span style="color: rgb(221, 0, 0);">&#39;D M j Y G:i&#39;</span><span style="color: rgb(0, 119, 0);">);<br />
	</span><span style="color: rgb(0, 0, 187);">?&gt;</span></span><br />
	<br />
	&lt;div style=&quot;margin: 10px 0pt; text-align: center; font-size: 90%;&quot;&gt;<br />
	This page last updated:&lt;br&gt; &lt;?=$show_date;?&gt;<br />
	&lt;/div&gt;

How do you turn this on?

来自 http://drupals.cn/node/9
普通分类: