2009-08-16 15 views
2

Ich habe versucht, Werte in Knoten und Knoten-Revision hinzuzufügen, aber die Knotendaten werden nicht angezeigt. Also, offensichtlich sind mehr Daten irgendwo anders gespeichert. Grundsätzlich möchte ich wissen, welche Tabellen betroffen sind, wenn Sie einen neuen Knoten erstellen.Wo speichert Drupal NODE-Daten?

+0

Verwenden Sie CCK? – ceejayoz

+1

Drupal führt eine Menge Zwischenspeicherung von Zwischen-Rendering-Ergebnissen durch, um die Leistung zu verbessern. Indem Sie die Datenbank direkt ändern, umgehen Sie wahrscheinlich die Logik, die den Cache ungültig macht und eine technisch veraltete Seite anzeigt. Gehen Sie zu * Site-Konfiguration *, * Leistung * und drücken Sie * Cache-Daten löschen *, um dies zu testen. – Bevan

Antwort

6

Wenn Sie nur gerade Drupal-Knoten verwenden, ist alles in node_revision. Wenn Sie dort Text hinzugefügt haben und dieser nicht angezeigt wurde, haben Sie ihn wahrscheinlich zur falschen Version hinzugefügt. Überprüfen Sie, ob die vid Werte mit vid für den Knoten in der Tabelle node übereinstimmen.

Wenn Sie mit CCK Felder zu Drupal-Knotentypen hinzufügen, werden die CCK-Daten in content_type_* und content_field_* Tabellen gespeichert, die beim Hinzufügen der CCK-Felder zum System dynamisch erstellt werden. Diese wiederum sind über ihre Werte nid und vid an Knoten gebunden.

+0

Problem ist die VID. Vielen Dank! Was ist die VID? – coderama

+0

'vid' ist die Revisions-ID. Wenn Knotenrevisionen aktiviert sind, verfolgt es frühere Versionen des Node-Hauptteils für historische Zwecke. – ceejayoz

2

Warum verwenden Sie nicht drupal node_save, um Knoten programmgesteuert zu erstellen? Schaut es euch auf api.drupal.org an.

Knoteninformationen werden in Knoten und Knoten_revision gespeichert. Wie das vorhergehende Poster sagte, speichert CCK seine Felddaten in zusätzlichen Tabellen. Und zusätzliche Module speichern Daten in zusätzlichen Tabellen. So ist node_save in der Regel der beste Weg.

Wenn Sie einen sehr einfachen Inhaltstyp haben, werden die Dinge möglicherweise aufgrund von Caching nicht angezeigt. Wenn Sie nur Daten in die Datenbank einfügen, ohne den Cache zu löschen, weiß Drupal nicht, dass es da ist und aktualisiert die Seite möglicherweise nicht, wenn das Caching aktiviert ist. Auch wenn das Caching deaktiviert ist, werden einige Dinge normalerweise zwischengespeichert. Versuchen Sie also, den Cache zu leeren und sehen Sie, ob das hilft.