问题标签 [drupal-hooks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2868 浏览

drupal - 未调用 hook_load/hook_view

我有一个声明了四种节点类型的模块。我的问题是,hook_load,hook_view 永远不会被调用。我使用 drupal_set_message 来确定是否正在调用某个钩子。我发现 hook_load,hook_view 不是。只是为了给你清晰的画面,这是我的 hook_load 结构

这里更新了一个

我不知道为什么不叫它。我根据drupal模块编写书编写了这段代码并按照说明进行操作。我已经尝试过那本书的示例代码,它工作正常。只有我的代码不起作用。可能是因为一个模块中有多种节点类型。任何帮助将不胜感激。

0 投票
1 回答
373 浏览

drupal - 使用 ImageCache 创建图像缩略图后如何使用 hook_nodeapi

对上一个问题的一点跟进。

正如我在那个问题中提到的,我的总体目标是在 ImageCache 通过生成缩略图和诸如此类的魔力之后调用 Ruby 脚本。

Sebi 对此问题的建议涉及使用 hook_nodeapi。
可悲的是,我在创建模块和/或侵入现有模块方面的 Drupal 知识非常有限。

所以,对于这个问题:

  1. 我应该创建自己的模块还是尝试修改 ImageCache 模块?
  2. 如何获取生成的缩略图路径(来自 ImageCache)以传递到我的 Ruby 脚本中?

编辑

我通过 SO 搜索发现了这个问题......是否可以在函数中做类似的事情_imagecache_cache来做我想做的事情?

IE

0 投票
1 回答
380 浏览

drupal - drupal输入过滤器中的当前上下文?

我想(需要)编写一个输入过滤器,它将标记替换为当前节点的其他字段(例如图像)的值。我考虑过使用全局变量进行黑客攻击,但也许有更简洁的解决方案来访问输入过滤器内的当前上下文?

只需在节点页面中使用 arg(1) 加载节点即可,但在列表中我遇到了麻烦。

0 投票
1 回答
136 浏览

php - 捕获 Drupal 中块的更改/添加/删除事件

当添加、移动、编辑或删除 Drupal 中的块时,我需要添加一些功能(刷新一些缓存等),是否有任何类型的钩子(或另一种 Drupal 原生方式),就像节点一样hook_nodeapi

我知道有,hook_block$op总是有list,所以它不是真的有什么好处。

0 投票
1 回答
753 浏览

email - 从 Drupal CCK 字段获取电子邮件并使用 drupal_mail 发送邮件

嗨,我正在使用 Jobsearch 模块在 Drupal 6 中构建招聘网站。默认情况下,它将申请发送到发布工作的用户的电子邮件地址。我的问题是所有工作都将由站点管理员发布-我需要将应用程序发送给该管理员和 CCK 字段中指定的电子邮件地址(准确地说是 CCK 电子邮件字段)。

尝试提取 CCK 字段的值并将其与工作发布者(管理员)的电子邮件一起使用并使用 drupal_mail 发送但失败 - 电子邮件未发送到自定义 CCK 电子邮件字段。

这是我从 Jobsearch 模块 job.module 文件中尝试过的(和排列):

似乎这应该是一件简单的事情,但我正在努力!

0 投票
1 回答
1561 浏览

drupal - drupal中注册表单的钩子

我是drupal的新手。并想自定义drupal注册表。在该表单中,我从配置文件模块中添加了一些字段。现在我想添加单选按钮并提交它应该去贝宝支付。返回成功后,用户将被注册登录。

有人告诉我这将通过钩子完成。但是如何创建这个。我的问题是—— 1. 两个单选按钮,一个是自动选择的 2. 在提交时转到贝宝,成功返回后保存在数据库中

我正在使用 6.X。任何帮助将不胜感激。

0 投票
3 回答
1243 浏览

drupal - 在 Drupal 中隐藏“创建新论坛 XXX”消息

每次我使用 API 创建新论坛时,消息:

创建了新的论坛等等

出现(状态信息)。

我可以压制它吗?也许用钩子?

0 投票
2 回答
2724 浏览

php - Drupal 的模块挂钩调用从哪里开始?

在 Drupal 7(和 Drupal 6?)系统中,什么“开始”钩子调用过程,或者“顶级”钩子调用位于何处?

根据我目前对 Drupal 模块系统的理解,任何模块都能够为另一个模块创建一个钩子来实现。这意味着 Drupal 的大部分执行是为其他模块实现钩子的模块,这些模块又为其他模块提供钩子来实现。

我不清楚的是,是否有一个初始的、顶级的钩子在引导程序中被调用来启动这个过程,或者是否有几个非模块调用启动了钩子调用过程,或者其他什么(道歉这是模糊和新奇的,但就像我说的我不明白)

我查看了_drupal_bootstrap_full函数,最后有一个有希望的

然而,我对modules/文件夹的搜索只找到了一个“init”钩子函数,这似乎不是一个启动点

所以,这对我来说是模块系统之外的一些东西,这一切都开始了。这发生在一个地方还是多个地方。这些地方在哪里?

我目前不是 Drupal 的重度用户。我的最终目标是孤立地理解 Drupal 的模块系统,这样我就可以调查和了解 Drupal 如何使用它的模块来构建大多数人认为是 Drupal 的应用程序。欢迎任何/所有解释,但我试图从架构的角度理解事物。我知道你不需要这些知识来使用 Drupal,但是我的大脑已经坏了,在我知道 PHP 基本代码在做什么之前不会让我继续前进。

0 投票
1 回答
662 浏览

php - 哪些 Core Drupal 函数可用于调用钩子?

这是我提出的关于创建自己的钩子的另一个问题 的后续。

在答案和评论中,提到了两个功能

该函数module_invoke_all似乎用于为任何实现它的模块调用钩子。

该函数drupal_alter似乎为任何实现它的模块调用一个钩子,在所有钩子函数之间传递一个持久数据结构。

挖掘代码,我还发现

这似乎让您可以调用特定模块中的特定钩子。

所以,我的问题实际上是两个问题。首先,我对上述各项的理解是否正确。其次,是否有任何其他核心 Drupal 函数可用于调用模块中实现的钩子?

我的最终目标是更好地理解 Drupal 架构的各个部分如何组合在一起形成 Drupal,即大多数人使用的应用程序。我开始尝试孤立地理解模块系统。任何对明显误解的更正表示赞赏

0 投票
1 回答
1350 浏览

php - Drupal:*.api.php 中的 hook_ 函数曾经被调用过吗?

在 Drupal 7 中,每个核心模块都有一个*.api.php文件,其中 * 是模块的名称。例如

这些文件是干什么用的?它们包含以 开头的函数hook_,以及(我认为)模块调用的钩子的名称。例如

拥有

系统调用了一个entity_view钩子,您可以在自己的模块中实现它,但是(它没有出现)hook_entity_view曾经被调用过。

这些功能有什么用。他们曾经被系统调用过吗?如果有,什么时候?如果没有,他们为什么在那里?