- Der Hook User
- Node mit Drupal laden und ändern
- Objektorientierte Programmierung in Drupal - Drupal Architektur
- Drupal Benchmark - Einfluss der Anzahl an Drupalmodulen
- Drupals node access System
- Regelmässiges Backup
- Batchverarbeitung für Fotogalerie mit Drupal
- Submitknopf durch Bild ersetzen
- Nicht alles ist Gold was glänzt in Drupal
- Mit Views interagieren
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.



<?php/** * Implementation of
<?php/**
* Implementation of hook_install().
*/
function module_install() {
db_query("UPDATE {system} WHERE name = '%s' SET weight = %d", 'node', 10);
}
?>
Dies ist dann fürs eigene Module...
Query müsste natürlich so
Query müsste natürlich so sein:
<?phpdb_query("UPDATE {system} SET weight = %d WHERE name = '%s' ", 100,'ekd');
?>
Ups natürlich es gibt auch
Ups natürlich
es gibt auch extra ein Modul dafür http://drupal.org/project/util