Ergebnis 1 bis 13 von 13

Thema: Dynamischer Inhalt für Contao

  1. #1
    Contao-Nutzer
    Registriert seit
    16.01.2012.
    Beiträge
    91

    Standard Dynamischer Inhalt für Contao

    Hallo Zusammen,

    ich stehe vor einer Anforderung, zu der ich noch keine Lösung habe.
    Ich freue mich, wenn mich jemand auf den richtigen Weg bringen kann.

    Hintergrund:
    Für eine Apotheken-Webseite gibt es Anbieter, die verschiedenste Fachartikel zur Verfügung stellen.
    Hierfür steht eine API zur Verfügung.
    Der Anbieter hat mir auch eine SimpleSDK zur Verfügung gestellt. Hier gibt es verschiedene PHP-Skripte mit denen ich über die API den Content abrufen kann.
    Bei den Fachartikeln geht es von einer kategorisierten Liste aller Artikel bis hin zum einzelnen Artikel.
    Die PHP-Skripte aus der SimpleSDK habe ich soweit verstanden, wie das funktioniert.

    Die Beispiel-PHP-Skripte bauen selbstverständlich eine "komplette" Seite auf, mit DIV's, CSS etc. um die Ergebnisse zu präsentieren.
    Ich möchte letztendlich die zurückgelieferten Inhalte in meiner Contao-Seite präsentieren, damit natürlich all meine CSS-Einstellungen hier greifen.

    Wie bekomme ich nun die Inhalte in meine Seite.
    Wie soll ich da vorgehen? Unbedingt speichern muss ich die Artikel in der Datenbank ja nicht, weil die können (oder werden) sich ja ändern. ... dafür ist ja "dynamisch" und immer aktuell.

    Freue mich über ein paar Tips oder Hinweise.
    Danke !

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.972

    Standard

    Kannst Du über die APi auch "nur Daten " (ohne Layout) abfragen? Dann würde ich ein Contao-Modul bauen. das die benötigten Daten live holt und in seine Ausgabe einbaut. Je nach Traffic evtl. mit Caching um die SPI-Aufrufe zu reduzieren.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer
    Registriert seit
    16.01.2012.
    Beiträge
    91

    Standard

    Hallo fiedsch,

    danke für Dein Feedback.
    Ja die API liefert von Haus aus nur die Daten, das ist Null Layout dabei.
    Das Layout wird nur innerhalb der SimpleSDK dazugebaut.

    OK, ein Modul :-)
    ... naja, irgendwann ist immer das Erste mal.

    Du würdest das Modul aber auch dann so bauen, dass die Ergebnisse direkt verarbeitet werden. Ich muss nicht zwingend in der DB speichern - korrekt?

    Hast Du noch 2-3 Tips, wie ich genau vorgehen soll?
    Ich habe noch nie ein Modul erstellt. Habe mir nur mal ein kleines HowTo durchgelesen. Dort wird aber immer irgendwann die Datenbank mit eingebunden.

    Gruß

  4. #4
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hi,

    brauchst du denn die Datenbank? So wie ich das verstanden habe, sind das alles Livedaten, die du auch nicht speicherst, sondern lediglich abrufst und dann ausgibst.

    Für diesen Fall würde ich garnichtmal ein Modul machen, die Aufgabe kann auch direkt im Template gemacht werden.

    Erstell dir im /templates-Verzeichnis eine beliebige .php Datei in der du die API abrufst und sylst. Anschließend kannst du diese Datei über den InsertTag {{file::dateiname.php}} überall in Contao einbinden. Es empfiehlt sich in diesem Fall das HTML Element zu verwenden. Das wäre die einfachste und schnellste Variante.

    Ich wüsste nicht, welche Vorteile ein eigenes Modul/Contentelement bringen sollte bei Livedaten, die sowieso ständig neu geladen werden.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  5. #5
    Contao-Nutzer
    Registriert seit
    16.01.2012.
    Beiträge
    91

    Standard

    Hi scrat,

    nein, die Datenbank brauch ich nicht.
    Die Api ist im Grunde mehrstufig.
    Über eine Liste von Kategorien bis hin zum einzelnen Artikel kann ich über die API mir die Daten beschaffen.

    Ich sehe das Problem darin, das eigene PHP dann richtig zu stylen ..... ich benutze ein Rocksolid-Template.

    Mal ganz einfach dargestellt, ist irgendwie meine Zielvorstellung, dass ich die Daten (Überschrift, Inhalt, teilweise sind auch Bilder dabei) über die API extrahiere dann in einen Artikel "presse".

    Also gefühlt glaube ich, dass ich da wohl um ein Modul nicht herumkomme.

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von CKern Beitrag anzeigen
    Hi scrat,

    nein, die Datenbank brauch ich nicht.
    Die Api ist im Grunde mehrstufig.
    Über eine Liste von Kategorien bis hin zum einzelnen Artikel kann ich über die API mir die Daten beschaffen.

    Ich sehe das Problem darin, das eigene PHP dann richtig zu stylen ..... ich benutze ein Rocksolid-Template.

    Mal ganz einfach dargestellt, ist irgendwie meine Zielvorstellung, dass ich die Daten (Überschrift, Inhalt, teilweise sind auch Bilder dabei) über die API extrahiere dann in einen Artikel "presse".

    Also gefühlt glaube ich, dass ich da wohl um ein Modul nicht herumkomme.
    Wenn du es in einen eigenen Artikel "presst" oder ein Modul benutzt hast du ja immer noch die selbe Problematik ("selber stylen"). Am schnellsten wäre es wirklich so wie the_scrat es beschrieben hat.

  7. #7
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.972

    Standard

    Zitat Zitat von the_scrat Beitrag anzeigen
    Hi,
    Ich wüsste nicht, welche Vorteile ein eigenes Modul/Contentelement bringen sollte bei Livedaten, die sowieso ständig neu geladen werden.
    Mit einem Modul könnte man das ganze noch über das Backend konfigurierbar machen. In einem incudeten *.php ist alles hart kodiert.

  8. #8
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Das ist richtig, aber nachdem er die Ausgabe nur einmalig benötigt tut es auch das Template. Und für jemand der noch nie ein Modul gemacht hat, ist der Aufwand um "nur" ein paar Daten konfigurierbar zu machen, einfach zu hoch.
    Und da dies alles nicht notwendig ist, ist weiterhin die Templatelösung der schnellste und einfachste Einstieg. Und funktionieren tuts ja genauso. Ein Modul bringt keine weiteren Vorteile (in diesem Fall), zumindest hat er bisher keine Bedingungen gebracht, die ein Modul rechtfertigen.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  9. #9
    Contao-Nutzer
    Registriert seit
    16.01.2012.
    Beiträge
    91

    Standard

    Hallo Zusammen,

    sorry, dass ich das mich erst jetzt wieder melde.
    Zwischenzeitlich bin ich in Bezug auf die API etwas weiter.

    Ich möchte das Thema nochmal aufgreifen und freue mich über Tips, Ratschläge ....

    Die "Apotheken"-API kann ich ganz unterschiedlich ansteuern, von einzelnen Artikeln bis zu vielen Artikeln einer Kategrie oder ich suche nach Schlagwörtern oder kann ich aktuelle Gesundheitsnews anfordern usw.

    Am Ende bekomme ich ein JSON Objekt mit allen gewünschten Artikeln zurückgeliefert.

    Ich habe mir nun eine PHP geschrieben, mit dem ich die gewünschten Artikel an der API anfordern kann und ich habe jetzt verstanden, wie ich das JSON-Objekt decodiere und über ass. Arrays darauf zurgreife. Dann habe ich mir eine SQL-Tabelle erstellt und schaffe es die Artikel in die Tabelle zu schreiben.

    Meine Frage ist jetzt : Wie bekomme ich die Artikel ins Contao?

    Gibt es sowas wie ein Artikel-Import?
    Eine Idee ist auch, dass ich die Artikel in die Nachrichten importiere oder reinschreibe, aber wie ich jetzt die Contao-Struktur verstanden habe, muss ich da auch verschiedenste Tabellen (zumind. habe ich 2 gefunden) in Contao nutzen.


    .... Ich habe mich mal mit dem Youtube-Video bzw. Contao-Wiki Dokument bzgl. Extension Erstellung (das Beispiel mit den Screencasts) beschäftigt ... oh je, so auf den ersten "Blick" ist das recht umfangreich, wenn ich ein eigenes Modul erstellen will.

    Habt Ihr noch Ideen für mich?

    VG
    Carsten

  10. #10
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hallo Carsten,

    ich dachte (siehe erster Post) die Daten sollen nicht gespeichert werden, weil dynamisch?
    Jetzt werden sie doch gespeichert (+ Zusatzaufgabe als Nachricht in Contao)?


    Wie denn nu? Speichern? Als Nachricht? Warum? Wieso willst du API Daten in den Nachrichten verarbeiten/speichern?

    Sofern Daten gespeichert werden müssen, musst du wohl tatsächlich ein Modul entwickeln. Der Screencast ist eine sehr gute Einstiegsmöglichkeit, einfach um das System zu verstehen und die ersten Schritte zu machen. Ansonsten würde ich dir empfehlen, sieh dir andere Erweiterungen an, am besten kleine Erweiterungen wie einen Videoplayer, eine Bildergalerie etc.
    Einfach viel probieren, rumspielen und testen. Ein steiniger Weg liegt vor dir... :-)

    Einen Artikelimport gibt es nicht, du bist verantwortlich für die Daten die du verarbeitest. Zumal die "Artikel" in Contao nichts mit den "Artikeln" aus der Apotheke zu tun haben. Sie heißen eben beide nur "Artikel". Ein Artikel in Contao ist aber etwas anderes.

    Daher nochmal die Frage, du willst Daten von einer API abrufen und ausgeben. Welchen Vorteil siehst du in der Speicherung der Daten? Denn der Abruf der Daten muss ja weiterhin passieren um geänderte Artikel dann in der DB zu ersetzen.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  11. #11
    Contao-Nutzer
    Registriert seit
    16.01.2012.
    Beiträge
    91

    Standard

    Hi und vielen Dank für die Rückmeldung !

    Du hast schon recht, ein speichern ist nicht zwingend bzw. eigentlich gar nicht notwendig.
    Ich glaube, ich werde es doch mit PHP-Files machen und darin entsprechend stylen.

    1000 Dank nochmal

    Viele Grüße und guten Rutsch !

  12. #12
    Contao-Nutzer
    Registriert seit
    16.01.2012.
    Beiträge
    91

    Standard

    Hallo the_scrat,

    kurze Rückmeldung.
    Ich verarbeite die Daten aus der API jetzt mit PHP direkt und baue mir den Content entsprechend zusammen.
    Klappt gut !

    Danke nochmal

  13. #13

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •