XML Daten als eigenes Field?
am 12.07.2012 - 05:53 Uhr in
Moin,
ich habe eine XML Datei mit mehreren Feldern:
Bild
Titel
Beschreibung
Preis
URL
Beim Node hinzufügen würde ich nun gerne mehrere XML Dateien dieser Art hoch laden können.
Ähnlich wie das üblicherweise bei den Bild Uploads gelöst ist.
Sprich: Durchsuchen Button -> XML auswählen und Drupal soll die XML dann speichern.
Ein eigenes Field programmieren?
Oder kann ich das auch zu Fuß machen ohne Code zu schreiben?
Danke
Steven
- Anmelden oder Registrieren um Kommentare zu schreiben

Die Frage ist - was soll mit
am 12.07.2012 - 06:35 Uhr
Die Frage ist - was soll mit den XML Daten nach dem Hochladen geschehen. Wenn du die Daten wirklich nur speichern möchtest, kannst du hier ein normales File-Field nutzen und dies bspw. auf den Dateityp XML beschränken.
Über einen eigenen Field-Formatter könntest du dir die Daten für die Ausgabe dann auch parsen - hier bietet dir PHP entsprechende Funktionen:
Fieldformatter: http://www.metaltoad.com/comment/1199
Parse XML Data: http://php.net/manual/en/book.simplexml.php
Falls du die XML Daten direkt in Views nutzen möchtest, wäre das [do:views_xml_backend] vlt. auch interessant für dich.
SteffenR
also so?Ich lege die XML
am 12.07.2012 - 06:58 Uhr
also so?
Ich lege die XML Datei einfach ins Filesystem per Fileupload
Das FileField weiss wo die Datei gespeichert ist
Für die Ausgabe im Node baue ich mir einen eigenen Formatter
Kann ich in den Views auch einfach auf die Datei zugreifen? Dann spare ich mir den Formatter?
Ich will ja nur die Daten haben, die XML kann von mir aus danach gelöscht werden.
Danke für den Lösungsansatz!
Steven
Was spricht dagegen,
am 12.07.2012 - 07:38 Uhr
die XML-Dateien in einen entsprechenden Node_Type einzulesen?
Dann stehen dir, ohne Klimmzüge, alle Drupal Abfrage- Suche- und Gestaltungsmöglichkeiten offen.
Feeds und eventuell Feeds_Tamper sind hier die richtigen Module.
Es soll easy für einen
am 12.07.2012 - 07:47 Uhr
Es soll easy für einen Redakteur zu bedienen sein.
Wie wäre da ein sinnvoller Workflow?
Wenn ich das direkt im add node machen würde mit den filefield ist es am einfachsten.
Feeds erscheint mir zu komplex? Oder kann ich das irgendwie einfach machen?
auch für Feeds kann man
am 12.07.2012 - 08:21 Uhr
Einen Menüpunkt anlegen, auf den verantwortungsvolle Redakteure Zugriff haben.
Diese müssen nichts weiter, als die Datei auswählen.
Wenn es verschiedene Dokumentarten mit entsprechenden Strukturen gibt, müssen eben verschiedene Feedimporte angelegt werden.
Die Zuweisung geschieht einmalig durch den Admin.
Tiefers Wissen dazu in einem Videotutorial http://atendesigngroup.com/blog/drupal-imports-using-feeds-module
Das zeigt es zwar für Drupal6. Für Drupal7 gilt es aber ebenso.
Danke. Und dann bei Node add
am 12.07.2012 - 08:27 Uhr
Danke.
Und dann bei Node add müsste ich ja die vorhandenen XML Inhalte referenzieren.
Wie löse ich das am sinnvollsten?
Der "normale" Redakteur soll dann aus den vorhandenen XMLs auswählen können (die dann nach Feed Import Nodes sind)
warum nochmals eine Referenz?
am 12.07.2012 - 09:14 Uhr
Nach dem Import ist es ein Node.
Die XML-Datei wird danach nicht mehr benötigt.
Richtig. Der Redakteur soll
am 12.07.2012 - 09:18 Uhr
Richtig.
Der Redakteur soll mehrere Daten aus den XMLs in ein Node packen können.
Sprich:
Kopf: XML
Körper: XML
Rumpf: XML
Fuß: XML
Dazu freier Text, weitere Bilder usw.
Ich müsste also ein neues Node machen und dann für Kopf bis Fuß jeweils auf eine XML Node verweisen können, damit die Daten davon in der Ausgabe angezeigt werden.
?
wenn er zusätzlich etwas hinzufügen muss
am 12.07.2012 - 11:19 Uhr
Reicht Feeds natürlich nicht.
In diesem Fall würde ich die Daten aus dem Feed einspielen, aber den Node nicht veröffentlichen.
So kann der Redakteur in einem weiteren Schritt das Dokument bearbeiten und ergänzen.
Gibt ein Modul
am 27.07.2012 - 12:50 Uhr
Zwar nicht direkt ein Fileupload aber für copy n paste ausreichend. in den Issues gibt es einen D7 port
http://drupal.org/project/xmlcontent
"Comparison of Content and User Import and Export Modules"
am 27.07.2012 - 13:55 Uhr
ist auch immer wieder ganz hilfreich.
http://groups.drupal.org/node/21338