2016-09-25 4 views
1

Ich versuche, einige Ansichten mit dem hook_views_pre_build-Hook zu überschreiben. Im Anschluss an die Dokumentation: 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 kein Effekt

Mein Modul "mymodule" genannt wird, ich habe:

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

Und das hat überhaupt keine Wirkung. Der Versuch, andere Hooks zu verwenden, funktioniert zum Beispiel "mymodule_preprocess_page" ist in Ordnung.

Ich mache ein "drush cr" jedes Mal, ich habe versucht, andere Haken als "mymodule_views_pre_exec", die keine Wirkung hat. Es scheint, dass Drupal 8.1 hook_views_XXX nicht ausführt

Jeder kann mir helfen, dies zu lösen?

Antwort

2

Vor allem der Doc sagt:

hook_views_pre_build (ViewExecutable $ view)

Versuchen mit ViewExecutable $ view statt & $ view?

+0

+1 zu diesem: 'call_user_func_array ($ function, $ args)' scheint stillschweigend in D8 zu versagen, wenn die deklarierten Argumenttypen der Funktion nicht richtig sind. Sie sollten aber auch 'Drupal \ views \ ViewExecutable;' am Anfang der Datei verwenden oder die vollständige Namespace-Klasse in der Funktionsdeklaration angeben, da andernfalls die Klasse in '\ ViewExecutable' aufgelöst wird und falsch ist. –