【问题标题】:Drupal 8 hook_views_pre_build no effectDrupal 8 hook_views_pre_build 没有效果
【发布时间】:2016-09-25 11:32:34
【问题描述】:

我正在尝试通过使用 hook_views_pre_build 钩子来覆盖某些视图。遵循文档: https://api.drupal.org/api/drupal/core%21modules%21views%21views.api.php/function/hook_views_pre_build/8.1.x

我的模块名为“mymodule”,我有:

<?php
//... some code that works
// and my hook:
function mymodule_views_pre_build(&$view) {
   var_dump("hello"); die();
}

这根本没有影响。尝试其他钩子也可以,例如“mymodule_preprocess_page”是可以的。

我每次都做一个“drush cr”,我尝试了其他没有效果的钩子“mymodule_views_pre_exec”。 Drupal 8.1 好像没有执行 hook_views_XXX

谁能帮我解决这个问题?

【问题讨论】:

    标签: php drupal hook drupal-8


    【解决方案1】:

    首先,文档说:

    hook_views_pre_build(ViewExecutable $view)

    尝试使用 ViewExecutable $view 而不是 &$view ?

    【讨论】:

    • +1 to this:如果函数声明的参数类型不正确,call_user_func_array($function, $args) 似乎在 D8 中静默失败。但是您也应该在文件顶部使用use Drupal\views\ViewExecutable;,或者在函数声明中指定完整的命名空间类,否则该类将解析为\ViewExecutable 并且不正确。
    猜你喜欢
    • 1970-01-01
    • 2015-11-11
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2018-05-21
    • 2018-07-28
    • 2018-05-15
    相关资源
    最近更新 更多