Beziehung von Nodes und deren Bilder in der Datenbank von Drupal
am 23.02.2010 - 16:44 Uhr in
Hallo,
meine Frage bezieht sich auf das Verständnis wie Nodes und deren Bilder in der Datenbank von Drupal zusammenhängen. Folgendes Szenario:
Ich habe in Ubercart Produkte erstellt und ihnen Bilder hinzugefügt. Wenn ich mir die Produkte dann im Katalog ansehe, sind die Produkte mit den entsprechenden Bildern zu sehen. Meine Frage ist nun, wo Drupal die Beziehung zu einem Node und dem entsprechenden Bild in der Datenbank speichert. Drupal muss ja schließlich wissen, welches Bild zu welchem Node gehört.
Wie könnte ich nun z.B. mit einem selbstgeschriebenen SQL-Befehl die genaue Adresse eines Bildes anhand der Node-ID oder der Artikelnummer eines Produktes ermitteln?
- Anmelden oder Registrieren um Kommentare zu schreiben
Am besten gar nicht, weil
am 23.02.2010 - 21:40 Uhr
Am besten gar nicht, weil das unnötig ist. Übercart setzt dafür ein CCK ImageField ein. Es reicht den Node zu laden, dann hast du auch alle erforderlichen Daten des Feldes.
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
Erstmal danke für die
am 24.02.2010 - 11:54 Uhr
Erstmal danke für die Antwort.
Es mag ja sein, dass SQL-Abfragen für den normalen Gebrauch unnötig sind. Dennoch finde ich es schon interessant zu wissen, wie genau Drupal funktioniert. Wenn man z.B. eigene Module schreiben möchte, ist es sicher nicht unnötig, sich in der Datenbank von Drupal auszukennen.
Für alle die es interessiert: Nach einer etwas längeren Suche habe ich herausgefunden, dass die Ubercartprodukte und deren Bilder in der Tabelle content_field_image_cache miteinander in Verbindung stehen.
Selbst das machst Du im
am 24.02.2010 - 13:17 Uhr
Selbst das machst Du im Normalfall nicht über eine Datenbankabfrage, dazu gibt es die Funktion node_load($id). Die liefert Dir das Node-Objekt mit allen Bestandteilen an Hand der ID. Das ist gerade bei mit CCK aufgebauten Nodes recht hilfreich. Da würde ich nie versuchen wollen, das "zu Fuß" zu erledigen.
Beste Grüße
Werner
Ich bin noch sehr unerfahren
am 24.02.2010 - 13:50 Uhr
Ich bin noch sehr unerfahren mit Drupal (etwa 3 wochen). Zur Zeit arbeite an einem "Muslimixer". Der Kunde bekommt auf der linken Seite eine Liste von Zutaten aus denen er sich einen Musli mixen kann. Sobald er auf eine Zutat klickt, wird mit einem Javascript auf der rechten Seite diese Zutat gelistet. Also "On the Fly", wie man das so nennt. Am Ende soll der Kunde sich mit einem Button diesen Mix (wahscheinlich als Artikelzusammenstellung) speichern und in den Warenkorb legen können. Ich habe das jetzt alles erstmal in einem Form-Modul realisiert, wo ich mir die Dinge, die ich brauche, einfach direkt aus der Datenbank hole und selber gestalte. Da ich wie gesagt ein Anfänger bin, weiß ich nicht wie flexibel und dynamisch ich mit CCK-Feldern (und Views?) arbeiten kann. Die Beschaffung der Daten aus der Datenbank funktioniert soweit ganz gut...
Dann empfehle ich eine sog.
am 24.02.2010 - 14:18 Uhr
Dann empfehle ich eine sog. Node-Modul zu schreiben. Du erweiterst dabei den Standard-Node, der nur Titel und Body beinhaltet um Felder, die Du in einer eigenen Tabelle verwaltest. Dazu schreibst Du die Funktionen Load, Save und View für diesen Typ, sowie das Eingabe-Formular (was Du ja schon zu haben scheinst). Das ist recht gut in dem Buch Pro Drupal Development beschrieben. Auch hier im Handbuch auf Drupalcenter.de sollte sich dazu einiges finden lassen.
Beste Grüße
Werner
Vielen Dank für den Tipp.
am 24.02.2010 - 14:51 Uhr
Vielen Dank für den Tipp. Dieses Forum ist wirklich klasse!