[Bitte um Hilfe!] Node verbinden
am 19.03.2013 - 16:30 Uhr in
Hallo,
ich möchte gerne folgendes umsetzen, weiß jedoch nicht wie. Es geht darum, dass ich Feeds installiert habe und damit große CSV-Datein importiere. Ich habe zwei Inhaltstypen erstellt die wie folgt zusammengestetzt sind:
Der erste Inhaltstyp ist für das importieren der Produkte aus den CSV-Datein.
Der andere Inhaltstyp soll den dazugehörigen Shop anzeigen mit Beschreibung und Kontaktdaten.
Nun möchte ich zwischen den Produkten und den Shop -Inhaltstypen eine Verbindung via eines Feldes herstellen, sodass eingesehen werden kann, welches Produkt zu welchem Shop gehört. Das Problem besteht darin, dass in den fertigen CSV-Datein kein Shopname sondern nur eine ShopID steht. Um jede einzelne Zeile umzuschreiben ist bei 10.000 Zeilen etwas umständlich.
Ich möchte gerne wissen wie ich eine Verbindung zwischen den beiden Inhaltstypen mit einem Feld herstellen kann. Das Feld beinhaltet NUMMERN! Keine NodeID!
Gedacht habe ich mir das so:
Ich erstelle einen Inhalt mit dem Shop, wo die Beschreibung, Kontaktdaten, etc. reinschreibe. Dort erstelle ich dann ein Feld dessen ich die ShopID verpasse. Soweit so gut, nur komme ich jetzt nicht mehr weiter...
Ich bitte um dringende Hilfe!
Für eine kurze dennoch schmackhafte Anleitung, wäre ich sehr dankbar. Auch welche Module benötigt werden.
Vielen dank im Voraus,
Marvin
- Anmelden oder Registrieren um Kommentare zu schreiben
Moin Marvin, ich hatte auch
am 19.03.2013 - 22:08 Uhr
Moin Marvin,
ich hatte auch meine Probleme mit Feeds und Beziehungen zwischen den Nodes, das konnte ich dann in nem eigenen Modul durch rein hooken beseitigen.
Weiss nicht ob es einen eleganteren Weg gibt, ich fand nach Stunden langer suche keinen und musste mir die NIDs selbst zusammen suchen.
Dann lies ich Feeds mal über die xTausen Zeilen laufen die ich da importieren musste, und das ging über die max_execution_time, weil das batchen nicht funktionierte wie geplant...
Mit Migrate geht das aber, viel einfacher :D
Also, ich befürchte so oder so wird das Programmieraufwand (kann auch falsch liegen...), da würd ich dir anraten dir mal Migrate anzusehn, damit lässt sich das besser handhaben.
Da schreibst du ein Modul mit einer Klasse die von der Migrate-Klasse erbt.
Darin bestimmst du dann die Klassen für Quelle, Ziel und Mapping.
Machst dein Mapping auf ne gaaanz einfache weise, inkl. der Referenzen, das Übersetzten der alten ShopID in die neue NID macht Migrate für dich!
Und das ganze wird sauber gebatcht und kann auch über Drush gestartet werden.
Wenn es mal wieder mehr CSV gibt zum Importiern, kann man das schon importierte löschen (Rollback), oder man Importiert einfach drüber und kann auswählen ob man alte Updaten will oder alte Nodes garnicht anfässt...
Also, kurzum, ich bin fasziniert von Migrate und wünschte ich wäre früher drauf gestoßen, und bevor du da ewig mit Feeds versuchst würd ich dir raten schau dir Migrate an: http://drupal.org/project/migrate
Ein super Einstieg fand ich hier: http://denver2012.drupal.org/program/sessions/getting-it-drupal-migrate , unten ist auch n PDF-Link zu den Folien ;)
Du kannst doch einen View
am 20.03.2013 - 00:49 Uhr
Du kannst doch einen View erstellen und das Shop-ID-Feld als Argument/Contextual Filters verwenden. Diesen View bindest du dann im Shop/Produkte-Node ein sodass dort immer der dazugehörige Shop bzw. umgekehrt, dass dazugehörige Produkt, angezeigt wird.
Oder habe ich das falsch verstanden?
Drupal rockt!!!
Vielen Dank für die
am 20.03.2013 - 01:17 Uhr
Vielen Dank für die ausführliche Antwort. Jedoch bin ich nicht wirklich mit PHP und allem drum und dran vertraut. Deswegen denke ich, ist Migrate nicht das richtige für mich.
Mit Views wird es wohl nicht funktionieren, da die ShopID keine ID für Drupal wie z.B. die NodeID ist. Die ShopID bekomme ich aus den CSV-Datein.
Gibt es eventuell noch eine andere Variante, wie z.B. mit Rules?
Danke!
Es ist doch völlig egal woher
am 20.03.2013 - 01:26 Uhr
Es ist doch völlig egal woher die Shop-Id kommt. Dieses ist, nach der Nodeerstellung, im entsprechendem Feld vorhanden und kann per Views gefiltert werden.
Die eindeutige Shop-ID wird doch im Shop-Node und im Produkt-Node vorhanden sein oder nicht?
Drupal rockt!!!
Tatsächlich. Möglicherweise
am 20.03.2013 - 01:32 Uhr
Tatsächlich. Möglicherweise hast du sogar recht. Ich kann um diese Uhrzeit wohl nicht mehr klar denken. Werde es morgen bzw. heute vormittag/mittag mal ausprobieren und dann berichten.
Danke schonmal für deine Mühe.