Questions tagged «hooks»

将其用于允许扩展模块功能而无需编辑其代码的机制。

3
保存后的动作可以使用哪个挂钩?
我已经找到了几条关于同一问题的帖子,但是答案总是与其他主题有所不同,否则它们将无法满足我的需求。 保存节点后,我想让我的自定义模块在我的一个自定义表中插入一行,其中包含新节点的编号。当hook_node_submit被调用时,nid还不存在。hook_node_insert确实有好处,但是仅在第一次保存节点时才被调用,但是每次保存节点时我可能都需要采取措施。 我的计划是将功能分解为自己的方法并实现两个钩子,但是我试图学习使用Drupal正确地做事,所以我想知道是否有一个钩子实际上符合我的要求。 是否存在一个钩子,每次保存节点时都会调用该钩子,并在保存完成后调用该钩子?
16 7  hooks  nodes 

2
钩为字段重复
我有一个自定义模块,用于格式化图像字段的显示,可以接受多个值。我想知道我应该使用哪个钩子来复制字段的第一个值(例如“ [image1]”),并将其添加回数组的开头(据array_unshift()我估计),然后其余函数格式化显示/主题。 那是什么 [image1] [image2] [image3] 变成 [image1] [image1] [image2] [image3] 然后,我将分别对它们进行主题设置,但是我想我已经弄清楚了这一部分。 我目前正在使用hook_field_formatter_view(),并且试图将其添加到$items函数顶部的数组开头,但这似乎没有用。如果在此之后立即dprint_r()显示$items数组,则仅输出3个项目;我假设字段的数量在其他地方确定。
15 hooks  media  theming 

1
如何编写具有“计数”和“具有”属性的Drupal 7查询?
我无法在drupal7标准中使用以下查询。.有人可以帮助我吗?有点紧急... SELECT n.nid AS nid, n.title AS title, count(n.title) AS ncount FROM node n INNER JOIN taxonomy_index tn ON n.nid = tn.nid WHERE (n.type = 'test') AND (tn.tid IN( 23,37)) AND (n.title LIKE '%name%') AND (n.status = 1) GROUP BY n.nid HAVING ncount = 2
14 7  hooks  database 

3
让视图尊重hook_node_access
我hook_node_access()用来拒绝用户基于自定义条件访问某些节点。但是,如果用户未通过标准,我不希望此内容显示在列出该内容的视图中。有什么方法可以让观点尊重hook_node_access()实现?
14 views  hooks  users 

2
如果两个模块都在“ hook_menu”中定义了相同的菜单路径,那么Drupal将选择哪个?
例如,“ moduleone”定义路径“ admin / hello”,该路径输出print_moduleone_stuff()。 /** * Implements hook_menu() */ function moduleone_menu() { $items['admin/hello'] = array( 'title' => 'Module One Hello World', 'page callback' => print_moduleone_stuff, ); return $items; } “ moduletwo”定义路径“ admin / hello”,其输出 print_moduletwo_stuff()。 /** * Implements hook_menu() */ function moduletwo_menu() { $items['admin/hello'] = array( 'title' => 'Module …
14 7  routes  hooks 

2
调整模块重量:要注意哪些风险和注意事项?
今天,我更改了我的自定义模块的权重,以更改挂钩的执行方法(hook_form_alter)。我已将权重更改为比其他模块的权重大的1值。这似乎是最安全的事情,而不是给它一个100的“随机”权重。原始模块是核心模块(转换),所以我希望我没有破坏任何东西。 在调整模块的权重以更改挂钩的执行顺序时,需要注意哪些事项以及涉及哪些风险? 我能想到的是:高耦合导致的不良行为。
14 7  hooks 


2
如何在hook_schema()中正确实现mysql date或datetime字段?
我已经编写了一个mymodule.install文件,其中包含一个架构定义以在数据库中创建表。该表包含两个数据字段。当用户填写特定内容(例如:指定新闻的特定发布日期)时,这些字段将由用户填充。现在,我没有故意使用“日期”贡献模块,因为出于其他原因,我需要将这两个字段放在数据库表的同一行中。 hook_schema用这种方式定义了两个字段: 'pubblish_date' => array( 'description' => t('The pubblish date for the single news'), 'mysql_type' => 'datetime', 'not null' => FALSE, ), 'unpublish_date' => array( 'description' => t('The unpublish date for the single news'), 'mysql_type' => 'datetime', 'not null' => FALSE, ), 该表已在数据库中正确创建,但是我总是收到这些建议消息: 字段news_board.pubblish_date:否mysql类型datetime的模式类型。字段news_board.unpublish_date:否mysql类型datetime的模式类型。news_board.pubblish_date:模式类型:普通没有类型。字段news_board.pubblish_date:类型的架构类型。news_board.unpublish_date:模式类型:普通没有类型。字段news_board.unpublish_date:没有type的架构类型。 对我来说似乎很奇怪,原因是我在文档中使用mysql_type规范来将日期时间格式存储在mysql数据库中。 我知道Drupal本机支持时间戳,如果要存储其他日期格式,则必须根据所使用的数据库使用特定的定义,例如mysql_type或pgsql_type。 在讨论中,我发现在线上有很多人使用mysql_type定义,从我的看到,他们解决了问题,那么为什么它对我不起作用? 非常感谢。

7
更改面包屑的内容
我正在尝试使用此钩子来更改面包屑链接: hook_menu_breadcrumb_alter(&$active_trail, $item) 该钩似乎没有被调用。 我试过了 : 使用主题上的钩子 使用自定义模块上的钩子(breadcrumb_finder_fix) 使用Drush清除所有缓存 我已经安装并激活了Devel模块,以下内容不会产生任何输出。 function breadcrumb_finder_fix_menu_breadcrumb_alter(&$active_trail, $item) { drupal_set_message(krumo($active_trail)); } 有任何想法吗 ?方向?请指教。 OBS:我已阅读此答案:https://drupal.stackexchange.com/a/7659/12647
13 7  hooks  breadcrumbs 

3
检查预处理挂钩中节点的内容类型
我要在树枝模板上为特定的内容模板提供一系列变量。 在MYTHEME.theme我有: function MYTHEME_preprocess_node(&$variables) { if (isset($variables['node'])) { $mycustomblock = \Drupal::service('plugin.manager.block') ->createInstance('myblock', []); $variables['mycustomblock'] = $mycustomblock->build(); $headertext = \Drupal::service('plugin.manager.block') ->createInstance('headertext', [ 'text-align-submit' => 'right', 'uppercase-submit' => TRUE, 'header_size' => 'h4', 'header-size-submit' => 'h4', 'grid-size-submit' => 6, 'header-title' => 'This is a test', ] ); $variables['headertext'] = $headertext->build(); } } 这使我可以在{{ …
12 nodes  8  hooks 

5
如何按内容类型覆盖页面标题
我正在使用pagetitle核心模块来呈现页面标题。但是,对于某些内容类型,我希望页主标题应该是内容类型标签(例如“新闻”),而不是节点标签(例如“ Drupal 8已发布!”)。 有没有简单的方法可以实现?我的第一个猜测是使用,template_preprocess_page_title但$variables没有关于节点,节点类型等的任何上下文。
12 theming  hooks  8 

2
Webform-将值从Drupal 7提交到外部URL
我是在Drupal中创建表单的自称新手。我在Drupal 7网站上托管了一个表单(使用webform模块),并且需要将表单值提交到外部url。我已经研究了一段时间,并编写了一个自定义模块,该模块使用webform模块使用hook_form_alter和自定义提交处理程序/函数(下面粘贴的代码)在外部进行提交。 我一直在使用以下页面作为指南,但无法使该表格正常工作:https : //drupal.org/node/1357136使用drupal_http_post()提交到外部站点:我在做什么错误? 有人可以让我知道我走的路是否正确吗?任何指导都会有所帮助! <?php function webform_extra_form_alter(&$form, &$form_state, $form_id) { //only want form with nid 1171 to submit externally //Note that "webform_client_form_1171" means modify the Webform form for the node with NID "1171". Adjust to match whichever webform node's form you're modifying if($form_id == 'webform_client_form_1171') { $form['#action'] = …
11 7  hooks  webforms  forms 

6
在hook_install上创建新的内容类型
有人可以向我展示如何在模块的hook_install方法中创建新内容类型的正确示例吗? 我还想知道在hook_uninstall期间是否应该/应该做些什么来清理我的混乱情况;我读到有一些关于仅删除内容的争论。 我还没有找到完成此任务的正确方法的示例,我们将不胜感激!
11 7  hooks 

2
使用钩子更新/删除/添加新内容后如何删除缓存?
我们在Drupal 7中有一个自定义服务模块和一个站点,在编辑器添加新内容或更新现有内容之后,我得到了删除缓存的任务。 我已经读过一个名为Cache Actions的模块,但是,正如我所说,我需要在自定义模块上创建该函数。 另外,我已经开始阅读有关Drupal钩子的内容,但仍然不知道如何实现此任务。有什么建议么?谢谢。
11 7  hooks  caching 

3
hook_form_alter执行顺序
有没有一种方法可以在Drupal 7中更改hook_form_alter的执行顺序,而无需更改模块的权重或对Drupal Core进行黑客攻击? 我正在尝试从翻译模块更改在translation_form_node_form_alter中添加的元素。在调试表单时,我找不到元素,因此我假设我的钩子在翻译模块中的钩子之前执行。
10 7  forms  hooks 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.