如何每次查看节点时执行操作? -- 7 领域 和 hooks 领域 drupal 相关 的问题

How to perform an operation every time a node is viewed?


5
vote

问题

中文

在编写模块时,我如何每次用户查看节点时执行一次操作?

英文原文

When writing a module, how can I perform an operation every time a node is viewed by a user?

     

回答列表

13
 
vote
vote
最佳答案
 

您可以使用 hook_nodeapi() 在Drupal 6中,检查 $op 参数是'查看'。在Drupal 7中,这已被更改为 hook_node_$op() 其中 $op 由您在Drupal 6版本中检查的值替换。所以你会使用 hook_node_view() 。有关从Drupal 6到Drupal 7的更改的详细信息,请参阅 http://drupal.org/更新/模块/ 6/7#remove_op

 

You can use hook_nodeapi() in Drupal 6 and check that the $op argument is 'view'. In Drupal 7, this has been changed to hook_node_$op() where $op is replaced by the value you would have checked for in the Drupal 6 version. So you would use hook_node_view(). For more details about the changes from Drupal 6 to Drupal 7 see http://drupal.org/update/modules/6/7#remove_op.

 
 
 
 
3
 
vote
或者,您可以使用Drupals触发模块,该模块默认情况下通过"经过身份验证的用户" 触发器查看内容时。

您可以通过/ admin / settings /操作创建一个操作,或根据 http://drupal.org/documentation/modules/trigger 。您还将找到具有预定义触发器和操作的模块。

 

Alternatively you could use Drupals Trigger module which has a 'When content is viewed by an authenticated user' trigger by default.

You can create an Action through /admin/settings/actions, or write your own based on the information at http://drupal.org/documentation/modules/trigger. You will also find modules that have predefined triggers and actions.

 
 
   
   

相关问题

0  如何生成一个列表,其中包含哪些空格?  ( How to generate a list of which features are enabled in which spaces ) 
我正在使用有机组,特征和空格运行一个Drupal 6.x站点,我对生成一个空格启用的空格的列表有兴趣。优选地,具有沿Y轴的空间的表,以及沿X轴的特征。 关于如何生成此的任何想法?我可以使用视图生成组空间列表,但无法找到已启用功能的字段。 ...

5  批量保存节点与文件字段  ( Bulk saving nodes with a file field ) 
我正在为笨拙网站创建批量上载函数的进度。使用Flash我能够将文件上传到应该能够处理文件的特定URL。 我想做什么,不仅仅是上传文件,而是使用保存到已使用CCK设置的文件字段的文件创建特定类型的节点。由于这些是音频文件,因此文件字段处理文件是重要的,因此可以使用GetID3模块提供其他元数据。 我看了代码/ doc,...

3  如何处理博客标签在贡献主题中?  ( How to handle blog tags in a contrib theme ) 
在博客或博客的网站中,分类通常用于标签和类别。 在Drupal 6中,Node.TPL.php文件可以使用$分类系统,如果它们需要访问与当前节点相关联的UnRended分类链接数组。该变量通常是通过Control主题假设来包含帖子标记和或类别,并且相应地呈现。 在Drupal 7中,$分类学不再可用。 是什么选择...

11  hook_preprocess_page():如何讲述视图页面?  ( Hook preprocess page how to tell a views page ) 
im写一个需要在视图页面中插入一些javascript和css文件的自定义模块。 im使用hook_preprocess_page,但我无法判断当前页面是否来自视图: function mymodule_preprocess_page(&vars) { var_dump($vars); //outpu...

5  Field API与自定义代码  ( Field api versus custom code ) 
如果我需要仅为用户配置文件添加自定义字段,它是否更好地创建使用字段API的模块,或者使用自己的代码以自定义URL显示自定义字段的模块,并保存数据在自己的数据库表中? 字段API无法实现决定哪些字段可对其用户可见的权限;是足以实现自定义代码的原因? ...

5  视图幻灯片VS列表视图+ jQuery Cycle Lite?  ( Views slideshow vs list viewjquery cycle lite ) 
在我的工作站主页上的旋转图像是以列表格式的视图创建。我正在使用 jquery循环Lite 插件,用于旋转效果。 CycliT.Lite.js文件在我的主题的.info文件中的脚本数组中设置,页面中有一点代码.TPL.php检查这是否是主页,如果是,则设置旋转器。< / p> 现在我正在第二个旋转器用于另一个部分,我一...

3  如何使功能仅适用于某些空格?  ( How to make a feature available only to certain spaces ) 
对于Drupal 6开放式庭院站点(即,功能,空格,有机组)我正在运行,我创建了一些自定义功能,只能真正适用于站点上的数百个群体。 它代表,"自定义功能" 配置屏幕显示所有的功能,包括那些我想故意限制到几个特殊群体的那些。 预防每个小组提供这些特殊功能的最佳方法,同时保留了特殊组上的这些功能? ...

4  在子域之间共享登录  ( Login shared between subdomains ) 
如果我应该允许用户使用相同的用户名/密码登录,在以下解决方案之间选择时,我应该考虑什么? 安装,并使用面包店单点登录系统在主站点上,以及所有子域。 共享包含用户数据的数据库表。 ...

3  如何追溯应用Mollom垃圾邮件过滤?  ( How to retroactively apply mollom spam filtering ) 
我被要求清理几年运行的网站,除了大量有效内容之外还累积了一些垃圾邮件。 我刚刚在网站上安装了Mollom,以帮助减少未来的垃圾邮件帖子;但是有些方法可以让Mollom过程已经发布到网站上的内容,并为我的评论销售潜在的垃圾内容(而不是单独查看全部有效内容的所有)? ...

4  直接调用Mollom Captcha  ( Invoke mollom captcha directly ) 
我在ctools form向导中有一个自定义表单,我想使用mollom。有没有API函数,我可以用来将它放在该页面上的表单API中? ...

2  gmap视图模块 - 弹出窗口太大了  ( Gmap views module popups are too big ) 
我正在使用gmap模块及其视图对应。我拥有的问题是,我正在使用自定义文本字段来显示以我从查询中删除的HTML包裹的字段。但是,弹出窗口不会正确尺寸;它最终太大了。这是我的自定义文本字段的代码: <div id="col1"> [field_thtr_img_fid] </div> <div id="col2"...

2  在哪里插入额外的注销功能的最佳位置?  ( Where is the best place to insert additional logout functionality ) 
在用户注销的情况下插入附加逻辑可能会在user.pages.inc中查看 function user_logout() .inc。此代码在核心模块中,您不应该编辑它,但工作得很好...例如,通过将以下代码添加到'user_logout()'函数的顶部... $last_run = variable_get('...

9  以编程方式冒充另一个用户,而不会导致当前登录用户退出  ( Programmatically impersonating another user without causing the currently logged ) 
如何更改全局 $user 的值,执行自己的代码,并恢复 99887664 的原始值,而不会导致当前用户注销如果发生错误? ...

16  模块如何检测输出“访问拒绝”页面?  ( How can a module detect when the access denied page is output ) 
模块如何检测Drupal输出"访问被拒绝" 页面时? 我知道如何用Drupal 6来做;我需要知道如何用Drupal 7进行。 ...

3  如何自动突出显示页面上显示的代码的语法?  ( How to automatically highlight syntax of code displayed on page ) 
我正在开发一个网站,用于从不同的编程语言发布我的代码。我想突出用不同颜色的代码语法。但是,手动这样做是耗时的。 是否有任何模块或方法可以自动执行此操作?严格,它应该以CSS方式完成。 ...

1  自定义SQL:NodeReference Joins和最新视频  ( Custom sql nodereference joins and latest vid ) 
我有一个构成自定义SQL查询的时间。 查询有多个Nodereference,需要返回最新的节点修订版。 我理解得很好,但由于某种原因,返回最新版本的额外复杂性正在绊倒我。 我宁愿通过创建视图并以编程方式执行它们,仅仅因为 WHERE 条款的复杂性,就会以编程方式执行它们。 我已经尝试翻译等同的视图的输出,但是对视图粘...

7  如何创建“逐步处理”内容类型?  ( How might i create a step by step process content type ) 
我正在考虑为Intranet创建一个过程手册。大多数(全部?)的流程都有一个非常明确的订单,尽管实际顺序可能不时改变。该计划是有主题专家,可能是六十多个左右,输入和更新流程页面。该网站的用户需要能够在与客户交互时快速审查流程,通常面对面。 这是我想到的选项: 培训作者使用有序列表。 pro:最容易的。康科:依靠培...

20  如何使用带有自定义表的数据与寻呼机进行排序表?  ( How do you make sortable tables with a pager with data from a custom table ) 
对于Drupal 6,您可以做到这样的事情: $header = array( array('data' => t('Order id'), 'field' => 'order_id'), ... array('data' => t('Transaction time'), 'field' => 'p...

148  推荐的目录权限是什么?  ( What are the recommended directory permissions ) 
我正在努力部署drupal 7站点,我找不到关于建议的安全有效文件和目录权限的任何文档。 特别是 default/files/ (也是子目录?), settings.php , .htaccess 以及其他任何我应该知道的。 ...

5  从Drupal表单字段/标签中删除冒号  ( Remove colons from drupal form fields labels ) 
如何删除:从使用Drupal形式API制作的表单后出现: ...




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


Licensed under cc by-sa 3.0 with attribution required.