Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Modul greift auf Hook->db_query aber nicht auf aktuellen Datensatz? Ab wann kann ich es erreichen?

Eingetragen von xip (65)
am 28.08.2012 - 13:43 Uhr in
  • Modul-Entwicklung

Hallo,

bin gerade dabei ein Modul zu schreiben welches sich ans Forum ranhängt. Und zwar möchte ich zusätliche Informationen an die Tabellen ranhängen. Vorher habe ich die Tabellen mit ALTER Table um einige Spalten erweitert.

So, jetzt möchte ich bei dem Hook zum Speichern eines neuen Nodes (Threads) diese Spalte befüllen.

Tabelle forum:

        1      nid int(10)
2 vid int(10)
3 tid int(10)
4 test varchar(70) utf8_general_ci (von mir hinzugefügt)

zuerst wollte ich die Methode meinmodul_node_insert($node) umschreiben das er das direkt einfügt, aber das macht ja die orginalmethode des Forums schon. Kann ich das irgendwie umgehen das dies nur mein Modul macht??

Aber naja,

jetzt gehe ich folgenden Weg. Ich ändere in meinem Hook den aktuellen Eintrag mit db_query mit update table:

function testkanickel_node_insert($node)
{
$result = db_query("UPDATE {forum} SET test =:string WHERE nid =:wert and vid=:wert2", array(':string' => 'Jeha',':wert' => $node->nid,':wert2' => $node->vid) );
}

Und das klappt nicht!!!! Komisch ist, wenn ich für nid und vid alte Werte eintrage, also die die schon in der Datenbank da sind, dann klappts!!!

Ich vermute also das das INSERT Statement der Orginalmehtode quasi zusammen mit meiner hook Methode ausgeführt wird und das er desshalb den Eintrag nicht findet?!?!?!?!?!

Muss ich in meinem Hook vorher der Datenbank sagen das Sie erstmal das SQL Statement aus der Orginalmethode ausführen soll und dann meinen????

Dank euch für eure Hilfe.

-Patrick

‹ [gelöst]Datenbankwerte in eine Selectbox einlesen [gelöst]SimpleXML in Drupal7 ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

hi patrik die module werden

Eingetragen von 1kubik (903)
am 28.08.2012 - 14:06 Uhr

hi patrik

die module werden ja der reihe nach abgearbeitet

http://www.houseofding.com/2009/06/controlling-execution-order-of-drupal...

wenn also der eintrag noch nicht da ist
bevor dein modul das update ausführt
hat das vermutlich damit zu tuen...

Zitat:

Muss ich in meinem Hook vorher der Datenbank sagen das Sie erstmal das SQL Statement aus der Orginalmethode ausführen soll und dann meinen????

ich wüsste spontan nicht wie man das umsetzen könnte..
hmmm...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn es an der Reihenfolge

Eingetragen von wla (9461)
am 28.08.2012 - 18:51 Uhr

Wenn es an der Reihenfolge liegt, müsstest Du das Gewicht Deines Moduls in der System-Tabelle ändern, damit es erst nach den anderen Modulen ausgeführt wird.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank euch. war nen

Eingetragen von xip (65)
am 29.08.2012 - 09:17 Uhr

Vielen Dank euch.

war nen super Tipp. So hats jetzt geklappt:

mysql> update system set weight=-1 where name='forum';

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das war allerdings die

Eingetragen von wla (9461)
am 29.08.2012 - 09:43 Uhr

Das war allerdings die falsche Änderung. Du solltest nicht das Forums-Modul ändern, sondern Dein eigenes Modul. Vermutlich war Forum auf weight = 0 und Dein Modul auch. Also hättest Du Dein Modul auf weight=1 setzen sollen. Andere Module könnten davon ausgehen, das das Gewicht von Forum nach wie vor Null ist und dann ein falsches Verhalten zeigen, das sich dann niemand erklären kann.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

mysql> update system set

Eingetragen von xip (65)
am 29.08.2012 - 14:03 Uhr

mysql> update system set weight=0 where name='forum';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> update system set weight=1 where name='testkanickel';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

mysql>

:)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Tagen 13 Stunden
  • Hey danke
    vor 3 Tagen 8 Stunden
  • Update: jetzt gibt's ein
    vor 4 Tagen 2 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 1 Tag
  • Da scheint die Terminologie
    vor 1 Woche 1 Tag
  • Kannst doch auch alles direkt
    vor 1 Woche 5 Tagen
  • In der entsprechenden View
    vor 1 Woche 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 5 Tagen
  • gelöst
    vor 4 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 18 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association