[gelöst] Feeds Import von Image-Pfaden aus einer CSV in ein Image-Field
am 09.02.2015 - 17:03 Uhr in
Es geht um das Upgrade einer größeren Drupal 6 Installation in Drupal 7.
Dabei gibt es mehrere Inhaltstypen mit Bild-Feldern.
Soweit hat das Upgrade per Drush schon gut funktioniert, nur die Image-Fields konnten nicht migriert werden.
Die fehlen schlichtweg in den Inhaltstypen.
Die Nodes wurden aber ansonsten sauber angelegt.
Nun überlege ich, ob man einfach aus der alten Installation eine csv-Datei erstellen könnte mit zwei Spalten:
nid;image-path
Und diese mit einem Feedsimport in das vorher händisch zu erzeugende Feld importieren könnte.
Kann man dann bei der Gelegenheit auch andere Bilder-Pfade wünschen?
Das soll etwas besser aufgeräumt werden.
Bisher liegen alle Bilder in einem Ordner sites/default/fields/images
Später sollen sie in Unterordnern sites/default/fields/images/ liegen.
Diese Pfadangaben würden wir natürlich vorher bei den Inhaltstypen angeben.
Ich habe gelesen, daß man die Bilder Pfade in der CSV einfach so anlegen muß:
public://images/name.JPG
oder wahlweise
http://quelldomain.de/sites/default/fields/images/name.JPG
Hat jemand schon mal so einen Import gemacht und kann mir sagen, ob das mit den unterschiedlichen Pfaden als Ziel klappen würde?
Was müßte man noch beachten?
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich würde das in einem Batch
am 09.02.2015 - 17:52 Uhr
Ich würde das in einem Batch über ein eigenes Modul lösen. Dann kannst Du die Pfade auch im Modul so ändern, wie Du möchtest. Im Bildfeld des Inhaltstyps kannst Du dann auch über Token die Ablage definieren, um eine bessere Struktur zu bekommen. Feeds macht das so nicht mit. Ich habe es jedenfalls noch nicht hinbekommen, existierende Nodes über einen zweiten Import zu verändern. Bei mir wurden die immer überschrieben.
Danke wla, Du hast mir heute
am 09.02.2015 - 18:20 Uhr
Danke wla, Du hast mir heute schon viel Arbeit erspart. ;-)
Genau das war die Frage, ob wir ein eigenen Modul schreiben oder ob es mit Feeds-Import klappt.
Aber wenn Du das nicht mit Feeds hinbekommen hast, müssen wir es gar nicht erst probieren.
"Ich habe es jedenfalls noch nicht hinbekommen, existierende Nodes über einen zweiten Import zu verändern. Bei mir wurden die immer überschrieben."
Den Satz verstehe ich nicht ganz. Hat das was mit den Bildern zu tun oder ist es bei Dir ein grundsätzliches Problem mit Feeds?
Eigentlich ist es ja kein Problem, bestehende Nodes via Feed zu aktualisierein. Vorrausgesetzt man definiert ein Feld als GUID (z.B. die Nid) und definiert es dann als unique.
Das war bei mir ein
am 09.02.2015 - 20:33 Uhr
Das war bei mir ein grundsätzliches Problem. Vermutlich habe ich, warum auch immer, nicht die gleiche GUID in beiden Imports gehabt. Ich habe es dann später nicht mehr probiert. Wenn man einmal einen Batch für einen CSV-Import geschrieben hat, ist der schnell auf eine neue Anforderung geändert.
Naja, da muß ich das
am 09.02.2015 - 20:52 Uhr
Naja, da muß ich das Feeds-Modul in Schutz nehmen.
Das funktioniert tadellos mit Insert und Update der Nodes.
Allerdings passiert es mir häufig, daß ich vergesse, die ID oder den Titel auf unique zu stellen.
Dann legt es die Einträge doppelt an, was natürlich ärgerlich ist, aber das kann man ja vermeiden.
Ich habe mehrere Seiten mit Affiliate-Partnerschaften laufen, wo Deeplinks jede Nacht importiert werden.
Und wenn man sich mal so einen Importer für einen Affiliate-Partner angelegt hat, dann ist davon schnell eine Kopie gezogen und mit einer anderen CSV- oder XML-Daten-Quelle verlinkt.
Macht schon Sinn.
Inzwischen haben wir die
am 28.02.2015 - 09:51 Uhr
Inzwischen haben wir die Bilder mit Feeds für alle Node-Types ergänzt.
Einfach eine View mit der NID und den Bildpfaden der Quell-Installation als CSV erstellt.
Die Bildpfade wurden in das Format http://www.quelldomain.de/bildpfad umgeschrieben.
(Wir haben es nachträglich mit Exteditor Suchen + Ersetzen gemacht.
Dann wurde ein Feeds-Importer angelegt, der die NID als unique Feld enthält und ein Update auf vorhandene Nids macht.
Die Bilder wurden sauber in dem Verzeichnis abgelegt, welches im Inhaltstyp angegeben ist und die Bilder-Styles wurden auch angelegt.