Darstellung externer XML-Daten
am 08.04.2010 - 15:52 Uhr in
Hallo,
ich hoffe, dass ich im richtigen Forenbereich bin. Ich habe eine Drupal-Site in die ich XML - Daten aus einer externen Quelle darstellen möchte. Es handelt sich um eine Datenbankanwendung, die aus insgesamt 8 verschiedenen Ansichten (Seiten) besteht. Das Interface ist schon komplett durchprogrammiert in einer Einzelanwendung. Als Iframe habe ich diese schon eingebunden. Das hat aber andere Nachteile...
Damit das Ganze flexibler wird und das Layout der Drupal Seite benutzt werden kann, möchte ich für den Userteil und die statischen Seiten Drupal als Unterbau nutzen.
Mir fehlt jetzt die Idee wie ich die externen Daten in Drupal darstelle. Meine Vorstellung ist, ein Template für jede Seite zu haben, dass mit den externen Daten gefüllt wird. Wo kann man beim Anfordern einer Seite die Daten einflechten? Also Klick auf den Navigationslink und Anzeigen der Seite mit den externen Daten. Dann, abhängig vom Userklick, Anzeige der nächsten Inhaltsseite, wieder mit Dateninput aus der XML-Quelle.
Ich würde mich auch nicht scheuen ein Modul zu schreiben, denke aber, das dies an dieser Stelle nicht notwendig ist.
Hat vielleicht jemand einen Lesetipp oder ein Tutorial, das diese Themen behandelt? Schönen Dank im Voraus
- Anmelden oder Registrieren um Kommentare zu schreiben
Warum importierst du die
am 08.04.2010 - 16:25 Uhr
Warum importierst du die Daten nicht und lässt über Drupal laufen?
Datenimport
am 08.04.2010 - 20:00 Uhr
Da die externe XML - Datenbank mehr als 10 Millionen Datensätze hat und täglich aktualisiert wird, ist ein Import in die Drupal Datenbank weder sinnvoll noch wünschenswert. Im Gegenteil werden XML-Queries an die Datenbank geschickt und Ergebnismengen dargestellt.
Ich habe allerdings gelesen, dass man über Inhaltstypen die Daten ausgeben kann. Eigentlich habe ich die Daten im Rohformat und muß sie nur noch gescheit in einem Tabellenformat ausgeben. Nur, wie geht das :-) ?
Die ganzen netten Sachen die
am 08.04.2010 - 20:17 Uhr
Die ganzen netten Sachen die man mit Drupal machen kann greifen ineinander und bauen aufeinander auf. Mann kann nicht "einfach so" beliebig externe Daten anbinden und wie von Zauberhand sind deine Daten nutzbar wie jeder native Drupal-Node.
Soll das eine Live-Anbindung werden, oder geht es darum periodisch Daten zu importieren und mit der Datenquelle abzugleichen? Dann wären wir wieder bei dem Punkt des Imports.
Ja, das soll eine Live
am 08.04.2010 - 20:51 Uhr
Ja, das soll eine Live Anbindung werden. Einfach hatte ich mir die Sache auch nicht vorgestellt.
Stell Dir vor es gibt einen Shop. Über ein Auswahlmenü kann man Kriterien vorgeben nach denen im Shop gesucht wird. Dessen Artikel kann man selektiv per XML-Query auslesen. Die ausgelesenen Artikel möchte ich auf einer Seite in Drupal darstellen. Wenn man einen Artikel auswählt kann man Details abrufen, ..., bestellen!
Kann man nicht einen Node anlegen, mit einem template versehen und dort die Daten über das template ausgeben? Das wäre so meine Idee. Ich möchte Drupal als Framework nutzen. Meinungen zu Artikeln können auch gesammelt werden.
Theoretisch ist vieles
am 08.04.2010 - 21:04 Uhr
Theoretisch ist vieles denkbar, aber du brauchst dennoch für jeden einzelnen der 10 Mio. Datensätze einen Node, wenn du an einzelne Datensätze Drupal-Funtionalitäten anhängen willst, da Rechte, Suchfunktion, Kommentare, usw. usf. nunmal auf Nodes ausgerichtet sind.
Oder aber du willst einfach nur ne Seite stricken und ne vergleichsweise "dumme" Anbindung herstellen, die mit Drupal erstmal gar nichts am Hut hat (etwa so wie man eine Google Map einbinden kann, oder dass im einfachsten Fall eine Anbindung an Drupal vorhanden sein muss). Unter "Drupal als Framework nutzen" stelle ich mir persönlich aber mehr vor ;)
Danke für die Einschätzung.
am 08.04.2010 - 21:45 Uhr
Danke für die Einschätzung. Der Gedanke an eine tumbe Anwendung ist so verkehrt nicht. Ich möchte das ganze Geschäft auf einer einzigen Seite abwickeln, deren Inhalt sich dynamisch ändert. (Der Vergleich mit Google Maps ist so falsch nicht) Die anderen Seiten werden zusätzlichen Content haben, der von Drupal beherbergt werden soll. Ich möchte das Rad mit User-Verwaltung und Artikeln, ... nicht neu erfinden. Macht das Sinn ein template zu hinterlegen, dass meinen PHP-Code mit meinen Ausgabefunktionen aufruft? Oder gibt es schlauere Verfahren. Die XML-Queries antworten im Bruchteil einer Sekunde, deshalb ist die Geschwindigkeit des Seitenaufbaus nebensächlich. Letzendlich werden nur Tabellen ausgegeben, die per CSS formatierbar sind.
ALs Quick & Dirty Lösung kann
am 08.04.2010 - 21:52 Uhr
ALs Quick & Dirty Lösung kann man das so machen. Sauberer wäre es die Anbindung über ein Modul zu realisieren und im Template über via Modul bereitgestellte Funktion die Formulare / Daten auszugeben. Dann ist das sauberer getrennt, wenn man etwa mal irgendwann das Template ändern will.
Man könnte natürlich auch drüber nachdenken die Formulare / Daten als CCK-Feld zur Verfügung zu stellen, oder als Token, Block, oder dergleichen...
Views 3
am 08.04.2010 - 22:15 Uhr
Nur mal so als Zwischenruf ... mitteles Views 3 kann man mittlerweile nahezu beliebige Datenquellen anbinden und die Daten nach Herzenswunsch ausgeben.
Das sollte auch mit XML-Daten funktionieren.