Gewicht eines Moduls – Hook greifen zu spät


Schon mal das Problem gehabt, dass beim hook_nodeapi die Daten von einem Modul noch nicht vorhanden waren? Z.B. Modul A, lädt über hook_nodeapi gewisse Daten und fügt diesem dem Node Objekt hinzu. Modul B will auf diese Daten zugreifen, die Daten sind jedoch noch gar nicht vorhanden.

In dem Fall wird der hook_nodeapi von Modul B VOR dem hook_nodeapi von Modul A aufgerufen. Es wird wohl jedem einleuchten, dass der Zugriff nur seriell möglich ist und daher einer der Anfang machen muss.

Abhilfe? Ist ziemlich einfach. In der Tabelle system ist jedes Modul aufgelistet. Dort muss man jetzt lediglich schauen, dass das Gewicht des Modul je nach dem schwerer oder leichter ist. In unserem Fall müssten wir also sicherstellen, dass Modul B NACH Modul A aufgerufen wird. Module B muss als ein Gewicht bekommen, welches tiefer ist als Modul A, z.B. -1

That's it. Man muss halt schauen, dass man dadurch nicht anderen Modulen in den Weg kommt.