问题标签 [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.
drupal - 未调用 hook_load/hook_view
我有一个声明了四种节点类型的模块。我的问题是,hook_load,hook_view 永远不会被调用。我使用 drupal_set_message 来确定是否正在调用某个钩子。我发现 hook_load,hook_view 不是。只是为了给你清晰的画面,这是我的 hook_load 结构
这里更新了一个
我不知道为什么不叫它。我根据drupal模块编写书编写了这段代码并按照说明进行操作。我已经尝试过那本书的示例代码,它工作正常。只有我的代码不起作用。可能是因为一个模块中有多种节点类型。任何帮助将不胜感激。
drupal - 使用 ImageCache 创建图像缩略图后如何使用 hook_nodeapi
对上一个问题的一点跟进。
正如我在那个问题中提到的,我的总体目标是在 ImageCache 通过生成缩略图和诸如此类的魔力之后调用 Ruby 脚本。
Sebi 对此问题的建议涉及使用 hook_nodeapi。
可悲的是,我在创建模块和/或侵入现有模块方面的 Drupal 知识非常有限。
所以,对于这个问题:
- 我应该创建自己的模块还是尝试修改 ImageCache 模块?
- 如何获取生成的缩略图路径(来自 ImageCache)以传递到我的 Ruby 脚本中?
编辑
我通过 SO 搜索发现了这个问题......是否可以在函数中做类似的事情_imagecache_cache
来做我想做的事情?
IE
drupal - drupal输入过滤器中的当前上下文?
我想(需要)编写一个输入过滤器,它将标记替换为当前节点的其他字段(例如图像)的值。我考虑过使用全局变量进行黑客攻击,但也许有更简洁的解决方案来访问输入过滤器内的当前上下文?
只需在节点页面中使用 arg(1) 加载节点即可,但在列表中我遇到了麻烦。
php - 捕获 Drupal 中块的更改/添加/删除事件
当添加、移动、编辑或删除 Drupal 中的块时,我需要添加一些功能(刷新一些缓存等),是否有任何类型的钩子(或另一种 Drupal 原生方式),就像节点一样hook_nodeapi
?
我知道有,hook_block
但$op
总是有list
,所以它不是真的有什么好处。
email - 从 Drupal CCK 字段获取电子邮件并使用 drupal_mail 发送邮件
嗨,我正在使用 Jobsearch 模块在 Drupal 6 中构建招聘网站。默认情况下,它将申请发送到发布工作的用户的电子邮件地址。我的问题是所有工作都将由站点管理员发布-我需要将应用程序发送给该管理员和 CCK 字段中指定的电子邮件地址(准确地说是 CCK 电子邮件字段)。
尝试提取 CCK 字段的值并将其与工作发布者(管理员)的电子邮件一起使用并使用 drupal_mail 发送但失败 - 电子邮件未发送到自定义 CCK 电子邮件字段。
这是我从 Jobsearch 模块 job.module 文件中尝试过的(和排列):
似乎这应该是一件简单的事情,但我正在努力!
drupal - drupal中注册表单的钩子
我是drupal的新手。并想自定义drupal注册表。在该表单中,我从配置文件模块中添加了一些字段。现在我想添加单选按钮并提交它应该去贝宝支付。返回成功后,用户将被注册登录。
有人告诉我这将通过钩子完成。但是如何创建这个。我的问题是—— 1. 两个单选按钮,一个是自动选择的 2. 在提交时转到贝宝,成功返回后保存在数据库中
我正在使用 6.X。任何帮助将不胜感激。
drupal - 在 Drupal 中隐藏“创建新论坛 XXX”消息
每次我使用 API 创建新论坛时,消息:
创建了新的论坛等等
出现(状态信息)。
我可以压制它吗?也许用钩子?
php - Drupal 的模块挂钩调用从哪里开始?
在 Drupal 7(和 Drupal 6?)系统中,什么“开始”钩子调用过程,或者“顶级”钩子调用位于何处?
根据我目前对 Drupal 模块系统的理解,任何模块都能够为另一个模块创建一个钩子来实现。这意味着 Drupal 的大部分执行是为其他模块实现钩子的模块,这些模块又为其他模块提供钩子来实现。
我不清楚的是,是否有一个初始的、顶级的钩子在引导程序中被调用来启动这个过程,或者是否有几个非模块调用启动了钩子调用过程,或者其他什么(道歉这是模糊和新奇的,但就像我说的我不明白)
我查看了_drupal_bootstrap_full
函数,最后有一个有希望的
然而,我对modules/
文件夹的搜索只找到了一个“init”钩子函数,这似乎不是一个启动点
所以,这对我来说是模块系统之外的一些东西,这一切都开始了。这发生在一个地方还是多个地方。这些地方在哪里?
我目前不是 Drupal 的重度用户。我的最终目标是孤立地理解 Drupal 的模块系统,这样我就可以调查和了解 Drupal 如何使用它的模块来构建大多数人认为是 Drupal 的应用程序。欢迎任何/所有解释,但我试图从架构的角度理解事物。我知道你不需要这些知识来使用 Drupal,但是我的大脑已经坏了,在我知道 PHP 基本代码在做什么之前不会让我继续前进。
php - 哪些 Core Drupal 函数可用于调用钩子?
这是我提出的关于创建自己的钩子的另一个问题 的后续。
在答案和评论中,提到了两个功能
该函数module_invoke_all
似乎用于为任何实现它的模块调用钩子。
该函数drupal_alter
似乎为任何实现它的模块调用一个钩子,并在所有钩子函数之间传递一个持久数据结构。
挖掘代码,我还发现
这似乎让您可以调用特定模块中的特定钩子。
所以,我的问题实际上是两个问题。首先,我对上述各项的理解是否正确。其次,是否有任何其他核心 Drupal 函数可用于调用模块中实现的钩子?
我的最终目标是更好地理解 Drupal 架构的各个部分如何组合在一起形成 Drupal,即大多数人使用的应用程序。我开始尝试孤立地理解模块系统。任何对明显误解的更正表示赞赏
php - Drupal:*.api.php 中的 hook_ 函数曾经被调用过吗?
在 Drupal 7 中,每个核心模块都有一个*.api.php
文件,其中 * 是模块的名称。例如
这些文件是干什么用的?它们包含以 开头的函数hook_
,以及(我认为)模块调用的钩子的名称。例如
拥有
系统调用了一个entity_view
钩子,您可以在自己的模块中实现它,但是(它没有出现)hook_entity_view
曾经被调用过。
这些功能有什么用。他们曾经被系统调用过吗?如果有,什么时候?如果没有,他们为什么在那里?