View aufrufen und darstellen mit XML-Daten
am 27.11.2016 - 19:00 Uhr in
Hallo zusammen,
ich habe folgendes Problem (bin brandneu in dem drupal-thema. Wurde bei einem Projekt hängen gelassen und hangel mich nun selbst durch):
Info vorab:
1. Ich habe eine API implementiert
2. Diese gibt mir bestimmte Ergebnisse/Daten (XML) zurück
2.1 -> Suchbegriff eingeben
-> Button "Suchen" klicken
-> API ansteuern
-> Ergebnis = XML kommt zurück
-> leitet auf neue Seite um
3. ich habe ein View angelegt der diese Ergebnisse später darstellen soll (Vorschau des Views sieht aus wie gewünscht)
API ansteuern + Ergebnis (XML) über print_r passt. Das Ergebnis passt nach dem umleiten.
Nun hänge ich bei der Umsetzung vom letzten Punkt von 2.1 zusammen mit 3. Ich stelle mir nun nämlich vor, dass ich auf dieser Seite (letzter Punkt von 2.1) den View aus Punkt 3 darstelle. Abhängig von den XML-Daten die ich bekomme. Hat da irgendjemand einen Tipp für mich? Wie gesagt. Auf die Seite komme ich und kann dort auch die XML-Daten darstellen. Jetzt muss ich diese nur noch in den View bekommen der auch passen sollte. Ich bräuchte jetzt Hilfe wie ich das hinbekomme.
Ich hoffe es war nun nicht zu verwirrend.
Gruß
Marc
- Anmelden oder Registrieren um Kommentare zu schreiben
Mit Views hat das nicht so arg viel zu tun
am 28.11.2016 - 09:39 Uhr
eine View ist eine Datenbankabfrage.
Da die Daten aber nicht aus der Datenbank kommen, musst du sie anders aufbreiten, oder Views davon überzeugen, sie aufzubereiten.
Da Drupal 8 mit YML und routes arbeitet, ist dies wohl bessere Ansatz.
Grüße
Ronald
danke für die antwort. aber
am 28.11.2016 - 10:12 Uhr
danke für die antwort. aber ich bin mir nicht ganz sicher ob das so passt. ich habe das modul xml backend geholt. mit diesem werden views um xml erweitert. datenbanktechnisch ist bei der auswahl xml nichts zu holen. zumindest nichts gesehen seither.
der punkt "davon überzeugen". wie müsste man hier vorgehen? oder anders gefragt: wie würdet ihr das umsetzen was ich vorhabe wenn nicht mit einem view. wie ich zum ergebnis komme ist mir eig. egal. hauptsache ich kann meinen empfangenen xml-"haufen" als liste darstellen und damit arbeiten. dachte nur das ein view mir einfach das bietet was ich brauche und den view dann dafür hernehmen kann.
Normalerweise würde ich das
am 28.11.2016 - 11:06 Uhr
Normalerweise würde ich das Modul [do:feeds] einsetzen um die XML-Daten in Drupal-Daten zu überführen (also in Drupal importieren). Dann greift Views.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Import ist sicher eine Variante
am 28.11.2016 - 11:46 Uhr
allerdings ist die Weiterverarbeitung zu berücksichtigen.
Wenn es nur um eine Auskunft geht, die sich immer wieder ändert, macht der Import keinen Sinn.
Hier kann ein kleines eigenes Modul helfen, das die Daten vom extrenen System liest, und in Drupal nur zur Anzeige bringt.
Grüße
Ronald
echt vielen dank für die
am 28.11.2016 - 12:10 Uhr
echt vielen dank für die ansätze! ich denke auch das ein import zu viel des guten wäre.
also im prinzip soll es echt nur darum gehen die xml-daten als liste aufzubereiten, wobei pro zeile ein button hinzukommen soll. diese zeile nutzt dann versteckte inhalte die auch über xml kommen aber nichts in der anzeige zu suchen haben. also klick auf einen button der zeilen -> api mit einer id (eins der versteckten felder) wieder abfragen -> redirect auf neue seite mit den daten der id -> xml wieder nehmen und wieder wo reinpacken
views hätten das alles halt von haus aus mitgebracht. schön konfigurierbar und so.
aber das mit den feeds schaue ich mir trotzdem mal an.
eins verstehe ich aber dennoch nicht. wenn views datenbanken nutzen warum kann man da nicht reingrätschen, so tun als ob die daten aus einer db kommen und an den view übergeben. hmm
es kommt darauf an
am 28.11.2016 - 13:07 Uhr
was du mit den Daten machen willst.
Wenn die sie in irgendeiner Form in Drupal ergänzen und weiterverarbeiten willst, würde ich sie importieren, und Entities daraus machen.
Da kommt es natürlich auf die Struktur an, die vorher mit content_types angelegt werden muss.
Wenn die Daten dann in Drupal drin sind, kannst du dich mit Drupalmitteln, also auch mit Views, damit austoben.
Geht es nur darum, Daten aus einem Fremdportal anzuzeigen, die sich möglicherweise ständig verändern, ist ein Import sicher nicht der richtige Weg.
Dann würde ich ein kleines Modul schreiben, das die Daten als HTML aufbereitet, und über eine entsprechende Route in einer passenden Region anzuzeigen.
Du hattest ja ursprünglich nach JSON gefragt.
Dies ist eine gute Basis, insbesondere wenn es um viele Daten geht, weil es wesentliche Kompakter ist als XML.
Wenn du die Daten mit PHP "anfassen" musst, würde ich persönlich JSON den Vorzug geben.
Grüße
Ronald