如何在修订版“查看最新”选项卡上获取“最新”VID? -- 7 领域 和 nodes 领域 drupal 相关 的问题

How can I obtain the “latest” vid when on Revisioning's “View latest” tab?


3
vote

问题

中文

我正在使用修订模块来处理内容修订,我正在创建一个需要的自定义块用户正在查看以生成适当内容的节点的视频。我正在尝试使用Menu_get_Object()来获取此功能,它适用于没有修订的节点。

当我在草稿中有一个待修订的修订时,我通过"查看最新" 选项卡,节点 - >我从menu_get_object()获取是"当前" 版本的VID,而不是"最新" "。获取实际显示给用户的VID的最佳方式是什么?

英文原文

I am using the Revisioning module to handle content revisions and I am creating a custom block that needs the vid of the node that the user is viewing to generate the appropriate content. I was trying to use menu_get_object() to obtain this and it works fine for a node with no revisions.

When I have a pending revision in Draft that I am looking at via the "View latest" tab, the node->vid I obtain from menu_get_object() is the vid of the "current" version, not the "latest". What would be the best way for me to obtain the vid of the version that is actually being displayed to the user?

     
 
 

回答列表

3
 
vote
vote
最佳答案
 

我挖掘了修订模块,看看它们是如何进行检查的,并调整它在模块中的辅助功能中使用。我首先使用 menu_get_object() 加载节点,然后调用以下内容:

  function _get_correct_revision($node) {   if (module_exists('revisioning')) {     if (_revisioning_load_op($node, 'view') == REVISIONING_LOAD_LATEST) {       $vid_to_load = revisioning_get_latest_revision_id($node->nid);       $node = node_load($node->nid, $vid_to_load);     }   }   return $node->vid; }   
 

I dug into the Revisioning module to see how they are doing the check and adapted it for use in a helper function in my module. I first load the node using menu_get_object() and then call the following:

function _get_correct_revision($node) {   if (module_exists('revisioning')) {     if (_revisioning_load_op($node, 'view') == REVISIONING_LOAD_LATEST) {       $vid_to_load = revisioning_get_latest_revision_id($node->nid);       $node = node_load($node->nid, $vid_to_load);     }   }   return $node->vid; } 
 
 
1
 
vote

修订的项目页面表示node_load将提供与修订相关的一些额外属性,我认为您正在寻找:

  $node->is_pending;   
 

The project page for revisioning says that node_load will offer some extra attributes related to revisions and I think you are looking for:

$node->is_pending; 
 
 
   
   

相关问题

2  建立像Drupal Gardens这样的服务并从中获得利润的法律考虑因素是什么?  ( What are the legal considerations to build a service like drupal gardens and ear ) 
我要求帮助您澄清疑问,我对Drupal平台的使用和许可来建立一个像这样的商业项目Drupal Gardens 。 今天,我已从Drupal.com和Drupal.org读取许可和使用规则,但我没有找到任何可能对我的好奇心提供直接答复,了解法律和经济以维持一个网站的东西像'Drupal Gardens。特定服务人员将...

3  如何使书籍导航也显示子页面的摘要?  ( How can i make the book navigation also show the summary of the child page ) 
目前,书本模块将创建一个导航到每个孩子页面的链接。我需要导航还包括来自子页面的预告片或摘要。 这适用于Drupal 7. ...

6  如何显示相同的视图暴露表单块两次?  ( How to display the same views exposed form block twice ) 
我正在尝试两次显示从块暴露的相同视图。一旦进入左侧导航,并在内容顶部。使用多块,我可以克隆块,我能够显示两者。但是,我希望左导航表单具有更少的暴露过滤器。 问题是在 hook_form_alter() 和 hook_preprocess_views_exposed_from() 中没有唯一标识符,我可以检查以更改表...

2  cck for for files  ( Cck nodereference for files ) 
我正在尝试创建一个具有单个文件附件的节点(使用CCK Filefield),并且能够由其他节点(可能多个节点)引用该文件。 应用程序使得有一个"表单库" ,它将有各种文档参考表格。 我看过Filefield源,但如果我在节点A中更改文件,则我不清楚,如果节点B中的附加文件将反映该更改。 另外,我们发现基于分类术语的...

1  Drupal 7中的批量API和Curl或File_Get_Contents()问题?  ( Batch api and curl or file get contents issue in drupal 7 ) 
使用批次API时有没有经历过卷曲或<代码> file_get_contents() 的问题? 我正在尝试通过批处理API从远程数据源导入节点;我在一个开发阶段使用file_get_contents(),但它停止工作。 我可以保证卷曲或 file_get_contents() 正在运行,并且它们在批处理API之外工作...

7  如何覆盖搜索框?  ( How to overwrite the search box ) 
<div class="fr_search"> <form action="/" accept-charset="UTF-8" method="post" id="search-theme-form"> <input name="search_theme_form" id="edi...

4  与分类术语的自定义路径的分类菜单  ( Taxonomy menu with custom path for taxonomy terms ) 
我正在尝试使用分类菜单模块为分类的自定义路径条款。而不是/分类/术语/ tid我想要/ proj /!tid(或最终/ proj /!term-name,但我会满足于我能得到的)。当我将"菜单路径类型" 设置为默认设置时,我有分类菜单正常工作,使其成为/分类/术语/ tid。每当我尝试使用"词汇路径" 选项时,菜单术...

4  窗口标题与页面标题  ( Window title vs page title ) 
窗口/浏览器标题可以与页面标题分开设置(在 99887669 中显示)? 我希望能够以代码的最直接方式执行此操作,而不是使用额外的模块或配置(除非这是最好的路线)。 例如,我经常在页面定义上使用 $form[title][widget][0]['#title']->string = t('New-title'); 0...

16  删除所有节点后,如何重置节点ID以再次从1开始?  ( After deleting all nodes how do i reset the node id to start from 1 again ) 
我为测试生成了大量的伪内容,然后删除了它们。 正如NID为自动增量,新创建的节点将具有最后一个创建的nid +1的NID。 如何再次从1开始启动? ...

4  图像上传和画廊  ( Image upload gallery ) 
有没有办法限制节点中存在的图像字段字段的数量? 我正在使用 iTweak上传,允许上传无限数量的图像,但我需要一些可以限制的东西上传的数量。 我想使用上载的文件进行每个节点的画廊;您推荐哪些模块? ...

2  如果用户无权查看术语,则不显示术语名称  ( Never show the term name if the user has no permission to view the term ) 
我用一个词汇表到我发布到我的网站的Freetag书签,我想隐藏所有术语(也是大多数节点;大多数或全部,我不在乎)。 使用TAC模块,我使用以下设置开始: 全局默认值:show / create / delete:忽略show-term-checkbox:是的 MyVoc默认值:show(node):禁止; show...

2  我应该如何在视图中使用字段?  ( How should i use a field in views ) 
我有一个我想要在视图中使用的CCK字段。我该怎么做? ...

3  有机组模块误报了节点编辑  ( Organic groups module messes up node editing ) 
更新的标题,以反映问题的真正原因 我已经使用"属于" 或"关系" 的节点引用创建了一些内容类型。 当我添加新节点时,选择节点引用似乎工作正常,并且显示新创建的节点的默认"列表视图" 也显示了这些关系是正确的。但是,当我尝试查看或编辑单个节点时,显示的表单仅包含"标题" 字段,而不是其他类型。我还通过"管理字段" ...

11  如何在不使用Pathauto的情况下自动为内容类型设置URL别名?哪个挂钩实施?  ( How to set url alias automatically for a content type without using pathauto wh ) 
pathauto可以轻松完成所有内容类型的作业,但在我的情况下,我只有一个需要自定义的一个内容类型URL,我宁愿不安装pathauto和令牌。 任何人都可以建议我怎么办? ...

2  我在哪里可以找到filefield的保存目标路径? (通过代码)  ( Where can i find the save destination path for a filefield via code ) 
我有一个图像文件字段,我正在尝试编写一个小脚本,它将以编程方式扫描我的节点,并将在我的节点正文中找到的图像保存到题为 field_post_image 我一直在查看drupal 7 +图像字段的默认进程和这里找到的示例: https://stackoverflow.com/questions/5129559/A...

2  与观点相关的路径  ( Path associated to views ) 
我使用pathauto为我的节点创建URL,如 998887665 。 我创建了一个参数的视图,路径为 gallery/% ( % 是节点标题),但当我将浏览器指向该网址时,我会得到标准节点,而不是视图。 如何覆盖路径以在该路径上获取我的视图? 如何增加视图的重量。odule? ...

4  查看参数设置  ( Views argument settings ) 
p> p> pories 2 for drupal 6具有传递给视图的参数的设置。 Drupal 7的观点3仍有这些设置?是否已重命名这些设置或删除? 这是我看到当我编辑分类学期视图时看到的部分屏幕截图 (屏幕截图看起来模糊,因为我调整为其原始尺寸的70%)。 如果这有任何差异,屏幕截图是用于视图的开发快照(7.x-...

3  如何在其中有一个超过64 kB的身体?  ( How can i have a body with more than 64 kb of data in it ) 
我注意到,当我在身体字段中创建带有太多数据的节点后,后续编辑将无法保存。或者相反,保存前进,我回到查看节点,但内容没有改变。 在广泛的试验和错误之后,我能够确定身体长度小于64 kB的任何保存都保存了很好,但任何东西都不会保存。 这是什么原因,有没有办法绕过它? ...

2  如何防止速率模块的民意调查中的多项投票?  ( How to prevent multiple votes in polls of the rate module ) 
我已安装速率模块,并设置情绪小部件。我喜欢这个模块,但在我成功投票后,我可以再次单击投票按钮。相反,我想弹出一个窗口,说"你已经投了投票" 。不要再投票",以防止人们多次投票。 ...

7  如何将徽标放入块中?  ( How do i put a logo into a block ) 
我试图将此代码放在自定义中,其中输入为php代码: $settings = theme_get_settings('my theme'); if (!$settings[toogle_logo] = 0) { print '<img src="' . base_path() . $settings['logo...




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


Licensed under cc by-sa 3.0 with attribution required.