2016-09-25 44 views
1

我想通過使用hook_views_pre_build掛鉤覆蓋一些視圖。下列文件: https://api.drupal.org/api/drupal/core%21modules%21views%21views.api.php/function/hook_views_pre_build/8.1.xDrupal 8 hook_views_pre_build沒有效果

我的模塊被命名爲 「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

任何人都可以幫我解決這個問題嗎?

回答

2

首先,對醫生說:

hook_views_pre_build(ViewExecutable $視圖)

與ViewExecutable $視圖,而不是& $視圖試試?

+0

+1對此:'call_user_func_array($ function,$ args)'似乎在D8中默默地失敗,如果函數聲明的參數類型不正確。但是你也應該在文件的頂部使用Drupal \ views \ ViewExecutable;'或者在函數聲明中指定完整的名稱空間類,否則類將解析爲'\ ViewExecutable'並且不正確。 –