Drupal 7 Knoten - Felder in Datenbank mappen

8

Ich versuche herauszufinden, wie Knoten zu Lernzwecken auf die Felder abgebildet werden. Wie wird das gemacht?

    
Chris Muench 14.10.2011, 20:09
quelle

1 Antwort

6

In Drupal 7 haben Sie Entitäten und Felder; Felder sind an Entitäten angehängt. Ein Knoten ist eine Implementierung einer Entität (das Knotenmodul implementiert hook_entity_info() und andere solche Hooks), so dass es Felder haben kann.

Alle relationalen Feld- / Entitätsdaten werden in den Tabellen field_data_field_x und field_revision_field_x oder ähnlich gespeichert (letzteres speichert möglicherweise Revisionen von Felddaten, wenn Knotenrevisionen aktiviert sind).

Die entity_id -Spalte in diesen Tabellen ist die ID des Knotens, und bundle ist der Inhaltstyp des Knotens. Das revision_id ist die Revisions-ID des Knotens, wiederum nur dann wirklich nützlich, wenn Knoten-Revisionen aktiviert sind.

AKTUALISIEREN

In der Terminologie von Drupal ist ein Inhaltstyp ein bundle und bundle s sind an Entitäten angehängt (in diesem Fall an die Entität node ). Wenn Sie einen neuen Inhaltstyp erstellen, wird dieser in der Tabelle node_type gespeichert, und wenn die Caches gelöscht werden (wodurch hook_entity_info für alle Module aufgerufen wird), wird node_entity_info() Funktion erstellt eine Liste von Bündeln aus den Inhaltstypen (schauen Sie sich das Bit in dieser Funktion an, das startet foreach (node_type_get_names() as $type => $name) { , node_type_get_names erhält eine Liste aller Inhaltstypen).

Wie oben besprochen, können Felder an Entitäten angehängt werden, sodass Felder an Knoten mit einem Delta (falls gewünscht) von bundle angehängt werden können.

    
Clive 14.10.2011, 20:18
quelle

Tags und Links