如何在节点内部嵌入视图? -- 7 领域 和 views 领域 drupal 相关 的问题

How do I embed a view inside a node?


7
vote

问题

中文

在Drupal 6中,可以将视图嵌入到节点中,如下所示:

  $viewName = 'LatestNews'; print views_embed_view($viewName);   

这不适用于Drupal 7.在Drupal 7中嵌入视图的功能是什么?

英文原文

In Drupal 6 a view can be embedded into a node as follows:

$viewName = 'LatestNews'; print views_embed_view($viewName); 

This does not work for drupal 7. What is the function to embed views in drupal 7?

     
 
 

回答列表

9
 
vote

在drupal 7中,您可以使用此代码。

  • 为视图页

      print views_embed_view('name_of_view','page_1', $node->nid);   
  • 为视图块

      print views_embed_view('faculty_core','block_1', $node->nid);   
 

In Drupal 7 you can use this code.

  • For a view page

    print views_embed_view('name_of_view','page_1', $node->nid); 
  • For a view block

    print views_embed_view('faculty_core','block_1', $node->nid); 
 
 
5
 
vote

EVA 模块也可以将视图附加到节点。

 

The EVA module can also attach views to nodes.

 
 
5
 
vote
要在节点模板中显示视图,请使用以下代码。
  // Load the view.  $view = views_get_view('machine_name_of_view'); // Set the active display. $view->set_display('your_view_display_name'); // Set any needed argument. $view->set_arguments(array(arg(0), arg(1))); // Execute the view. $view->execute(); // Render the view. print $view->render();   
 

To display a view in a node template, you use the following code.

// Load the view.  $view = views_get_view('machine_name_of_view'); // Set the active display. $view->set_display('your_view_display_name'); // Set any needed argument. $view->set_arguments(array(arg(0), arg(1))); // Execute the view. $view->execute(); // Render the view. print $view->render(); 
 
 
   
   
4
 
vote

为什么不:

  print views_embed_view($view_machine_name, $view_display_name, $arg1, $arg2);   

$ arg,$ arg2等是可选的。

或使用 ViewField 模块将视图嵌入为字段。

 

Why not:

print views_embed_view($view_machine_name, $view_display_name, $arg1, $arg2); 

where $arg, $arg2, etc are optional.

Or use Viewfield module to embed a view as a field.

 
 
     
     
1
 
vote

一个解决方案是使用 panelizer 覆盖相应节点的内容。

让我们说,例如,您有一部需要附加视图的一次性的一次性页面。

1)您可以使用页面内容类型,也可以创建一个专门放大的新内容类型。

2)启用面板器以获取该内容类型,请务必将其设置为"允许每次记录显示选择" ,这样您就可以设置多个面板显示器,该显示器将显示为每个OFF页面定制。 (每个面板显示器都可以附加它是自己的一组观点)

3)从这里开始,您只需创建一个视图(我喜欢为此使用内容窗格)并将其添加到Panelizer内容显示选择中。

这允许您重新使用一个内容类型,该类型并不真正需要它是自己的字段,但可能会用于引用其他实体(作为字段)或引用视图。

投入段落模块,您有瑞士军刀内容类型。说到,这将为此目的用于自定义内容类型的完美名称...... HMM ....

 

One solution is to use Panelizer to override the content of the respective node.

Lets say for example you have a handfull of one-off pages that need a view attached.

1) You could use the Page content type or maybe create a new content type that will specifically be panelized.

2) Enable Panelizer for that content type, make sure to set it up to "Allow per-record display choice" that way you can setup multiple panelizer displays that will be tailored to each one off page. (each panelizer display can have it's own set of views attached)

3) From here you simply create a view (I like to use Content Panes for this) and add it to the Panelizer content display of choice.

This allows you to re-use a single content type that doesn't really need it's own set of fields, but might potentially be used for either referencing other entities (as a field) or referencing views.

Throw in the Paragraphs module and you have a Swiss Army Knife content type. Speaking of, that would make a perfect name for the custom content type used for this purpose... Hmm....

 
 
0
 
vote

让我们只提到第一个参数是视图名称,第二个显示名称以及之后可以通过上下文过滤器参数。

因此,"$ node-nid" ,第三个参数取决于您的视图......第一个上下文过滤器的期望 - ID不必是节点ID。当然,你不仅限于一个参数 - 可以像你的视图一样多次通过......或者如果您的视图没有上下文过滤器,则无需传递。

 

Let's just mention that first parameter is view name, second display name and after that you can pass contextual filter parameters.

So that "$node-nid", the third parameter depends on you view...what it expects for first contextual filter - id doesn't have to be node id. Of course, you are not limited to one parameter - pass as many as you have in view...or pass none if your view doesn't have contextual filters.

 
 
0
 
vote

一个非常可配置的drupal 7和8模块是视图_field_formatter 允许您嵌入视图作为一个字段格式化剂

 

A very configurable Drupal 7 and 8 module is views_field_formatter which allows you to embed a view as a fields formatter

 
 

相关问题

2  Views模块是否可以将值分配给<title>  ( Can the views module assign a value to the title ) 
视图模块可以将值分配给和/或$标题变量吗? 更具体地说,我希望视图领域:"内容标题" 是$标题。 ...

2  适用于培养内容提交的好模块是什么?  ( Whats a good module for moderating content submissions ) 
drupal 7.x.我正在寻找一个模块,让我允许我在发布之前调整任何内容提交。例如: 我有作家,编辑和出版商组。我希望作者创建内容,然后编辑必须浏览内容来检查错误/错误,然后发布者拍摄最后一个外观并推送要发布的内容。 是否有一个模块,可以为drupal 7.x处理此任务? ...

4  将幻灯片寻呼机视为菜单选项卡  ( Views slideshow pager as menu tabs ) 
我想知道这是否有可能。 我找不到有关此主题的任何信息,但我试图让我的寻呼机在一个视图中幻灯片进入导航的菜单选项卡,以便如果我滚动在"主页" 菜单按钮上,图像会更改,或者如果我滚动"关于我们" ,那么图像将改变为"关于我们" 图像。任何人都可以给我一些关于我能做些什么的建议吗? ...

1  错误消息未翻译  ( Error messages are not translated ) 
我们已经成功构建了一个多语言drupal网站,唯一没有翻译的唯一是错误消息。 我们在网站上有默认的Drupal 6联系表格。所有现场标签都被正确翻译,包括"发送" 按钮。 但是,当某人尝试在不完成字段的情况下尝试提交表单时,错误消息始终以英语显示。 ...

3  Drupal 7 - 将项目添加到菜单中的多个位置  ( Drupal 7 add items to multiple places in a menu ) 
我试图设置一个菜单布局,有两个链接到我们的公共意识活动;一个在"选民" 下,一个在"新闻中心" 下。问题是我运行的问题是,虽然我可以在菜单的不同部分中有两个链接,但在查看页面时,它将始终尝试将菜单打开到其中一个。这意味着,如果您正在寻找"选民" ,并且您将"我们的公众意识活动" ,突然间,您可以在网站的不同位置。关于...

1  将分类图像插入节点  ( Inserting taxonomy images into nodes ) 
在Drupal 7中,我添加了一个新的分类词汇表,然后将新的字段(图像字段)添加到与图像(徽标)的这个词汇表和术语中。在内容类型中,我添加了一个新字段(术语引用)。但在节点中,我只能看到分类学术语的标题。如何从分类术语将Imagefield插入节点? ...

0  从其他页面显示在弹出窗口中的自定义模块内容  ( Displaying custom module content in a popup from other page ) 
我有一个自定义模块,它显示关于现实的列表和信息。如何在从其他页面展示弹出窗口中展示Realty的图像? 在例子中,我在Realty / 566上有关于Realty的信息,可以查看realtyimages / 566的图像/ 566 ...

2  Drupal DB查询  ( Drupal db queries ) 
我有这个sql query "SELECT url_alias.alias FROM url_alias, taxonomy_index WHERE url_alias.source = CONCAT('taxonomy/term/',taxonomy_index.tid) AND taxonomy_index...

4  过滤器仅显示最后一个版本的文章  ( Filter to display articles from the last edition date only ) 
我有一个杂志类型项目,但物品被分组为版本(问题)。因此,我使用节点参考互连了2个内容类型。 我需要的是创建一个视图,只能在FrontPage上显示最后一个版本的文章。我可以使用版本日期或版本号的标准(需要最后一个版本)。不幸的是,我找不到怎么做。运算符输入的值是多少。 ...

1  无法修改文本格式  ( Cant modify text format ) 
我正在使用drupal 7.x,并希望开始使用 pathologic 确保所有的我的相对链接正常工作。 如上所述,指令 我已经检查了我的用户的权限,我有权"管理文本格式和过滤器" 。别的什么我应该检查? 谢谢, alan ...

0  Drupal 7中的强制组/自动使用  ( Mandatory group autosubscribe in drupal 7 ) 
我正在使用有机组,为社区网站通知会员,当新文章提交给他们的小组时。 但是,我希望所有成员在管理员在网站发布文章时接收通知。 有2个想法如何完成这一点: 自动证明所有用户在Admins发布文章时接收通知(No Group) 有一个"一般" 组,所有成员都会自动加入注册 我已经看到了一个用于drupal 6的模块,该...

4  在Drupal 7中自定义消息通知  ( Customise message notifications in drupal 7 ) 
我正在使用drupal 7的有机组,当新内容发布到他们的小组时,成员收到电子邮件通知。 但是我找不到方法来修改: Email subject: New post in group Email message: Hello [user], There is a new post called... 我需要修改...

6  计划为D7版本的垃圾邮件模块以及可能的替代方案? [关闭]  ( Plans for a d7 version of the spam module and possible alternatives ) 
此问题似乎在帮助中心中定义的范围内涉及Drupal。。 想要改进这个问题?更新问题,所以它是关于drupal答案的主题。 ...

30  如何制作各州所需的表格?  ( How to make a form required with states ) 
我有一个下拉列表,基于所选择的内容,显示各个字段,我知道我可以用状态涂抹可见性,但是当我尝试使用时,*跨度显示*跨度,但实际上并非实际上。我的意思是,即使它是"必需的" ,我可以点击提交,而不是从Drupal收到错误消息。我在做错了什么,或者这是在Drupal 7.8中被打破的吗? $form['...

15  如何仅在视图中仅过滤词汇表中的根术语?  ( How do i filter only the root terms in a vocabulary in a view ) 
我有一个词汇结构,如此: 根α 术语α1 术语α2 子系统alpha 1 根β 根伽马 术语γ1 术语γ2 如何仅过滤视图以仅显示词汇表的根本条款? 目前我的观点正在显示根术语以及子项(术语* *) 向前展开,我想通过参数'rootphar'(或其tid,或从上下文中的任何东西),然后将...

2  Drupal 7“面板节点”内容窗格上下文过滤器  ( Drupal 7 panel nodes content pane contextual filter ) 
是否有人知道如何为要在"面板节点" (来自面板的"面板节点" 模块中显示的视图内容窗格的视图内容窗格设置基于分类的上下文过滤器(参数)。标记与同一分类学期? 我想我缺少关于"面板节点" 如何工作的事情。除非我在视图中添加"关系" ,否则我没有获得术语ID的选择。然后我可以将上下文过滤器设置为术语ID,但它不一致。如...

2  附件继承暴露过滤器[关闭]  ( Attachment inherit exposed filters ) 
这个问题不太可能帮助任何未来的访客;它仅与小地理区域,特定时刻及时的特定时刻或非常狭窄的情况,这些情况通常不适用于互联网的全球观众。有关帮助提出这个问题更广泛适用,请访问帮助中心。 ...

1  如何调试电子邮件功能?  ( How can i debug an email function ) 
我正在使用flag_friend模块,并希望自定义朋友请求后发送的电子邮件。 如何开发电子邮件功能的最佳方式,如此,您无法重新加载页面以查看更改? 我必须返回,删除朋友请求并创建一个新的请求来触发下一个电子邮件,然后等待电子邮件到达。 ...

0  如何在不卸载的情况下创建表并重新安装模块?  ( How to create a table without uninstalling and reinstalling the module ) 
我有一个模块和一个用于创建表的安装文件。 根据我的要求,我需要在同一安装文件中添加另一个表。我知道,通过使用 hook_schema() 我们可以创建n个表。 但我们需要卸载并再次重新安装以创建表。如果我使用这个,我的现有数据将丢失,所以我不应该这样做。 是否有任何方法可以在不卸载的情况下创建表并重新安装模块? ...

0  node-name.tpl.php不覆盖节点模板。我已经清除了主题注册表  ( Node name tpl php doesnt override the node template ive cleared theme registr ) 
我正在使用drupal 7.8,我尝试了用drupal 6做的同样的事情,为节点类型进行自定义布局。 我已复制node.tpl.php,并重命名它节点nameofthenodetype.tpl.php,更改了模板,将其上载到主题文件夹。 令人惊讶的是,Drupal 7不接受:它显示了默认节点布局。 谁能告诉我我做错了...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.