Ankündigung

Einklappen
Keine Ankündigung bisher.

Tags und Fotos über die API Schnittstelle verbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tags und Fotos über die API Schnittstelle verbinden

    Moin,

    ich möchte mir eine Fotoseite bauen und habe das so eingerichtet, dass ich die Fotos und Meta-Daten als CSV exportiert bzw. bekomme. Titel, Beschreibung und weitere Daten kann bekomme ich auch problemlos importiert, nur möchte ich gerne den Fotos Kategorien in Form von Tags geben und natürlich auch die Einträge selbst mit dem Bild verbinden.

    Bei der Recherche bin ich schon aufs Thema Hooks gekommen, mir ist allerdings noch nicht richtig klar, wie ich das aufrufen kann und was ich da genau eingeben muss, um ihn z. B. zu sagen, dass ich ganz gern die Tags mit den Tags im System verknüpft haben möchte.

    Angenommen mein Bild hat die Katgegorie/Tag Natur bekommen, muss ich dann das suchen, ob der Tag denseleben Namen hat oder einfach anhand der ID vom Tag in Contao vergeben? Und wie sieht das mit den Bildern aus? Wie kann ich es verknüpfen, das z. B. files/images/natur/bild123.jpg entsprechend verknüpft wird?

    Gibts da etwas irgendwo noch ausführlicher zu?

    Viele Grüße
    Markus

  • #2
    Du musst die Logik deiner Verknüpfungen manuell programmieren. Anders als mit Hooks geht es nicht. Die Arbeit mit Hooks ist ausgiebig im Contao Handbuch / Forum und auch hier bei uns erklärt. Die Anwendungsweise ist immer die gleiche.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Moin,

      ich hab hier und auch schon bei Contao gesucht. Ich glaube wie ich den Hook jetzt aufrufe bzw. einbaue ist mir soweit klar. Was mir noch unklar ist: Kann die Funktion auch eine eigene sein, oder muss es zwingend eine sein, die in der Contao Doku steht? Bzw wäre das dann das DataOutput hier aus der Doku?

      Was mir allerdings noch nicht genau klar ist, wie ich auf die Logik zugreifen kann, bzw. wie ich sie einsehen kann, das ich die Tags genau verknüpfe? Kann ich das irgendwo einsehen?

      Viele Grüße

      Markus

      Kommentar


      • #4
        Du musst natürlich einen Hook nehmen, der irgendwie während der API oder von der API aufgerufen wird z.B. den dataOutput Hook der API.
        Oder nutze direkt einen API Job Callback. (das mache ich am liebsten)

        Was mir allerdings noch nicht genau klar ist, wie ich auf die Logik zugreifen kann, bzw. wie ich sie einsehen kann, das ich die Tags genau verknüpfe? Kann ich das irgendwo einsehen?
        Das sagt dir die Datenbank direkt.
        ---
        Mal ein Beispiel aus einem aktuellen Projekt- Ich denke der Dominik hat nichts dagegen

        Aufgabe ist es aus dem ankommenden Wert (API Quelle) die passende Tags ID zu ermitteln (API Output).
        Dies macht man in der Regel mit einem Lookup Array / Referenz Array. (Ich definiere sowas in einzelne Globalen, damit der Dominik , später überall darauf zugreifen kann.)

        Es kommt an "Cabrio/Roadster". Der passende Tag dafür hat die ID 510 usw. usw.
        PHP-Code:
        // xml <-> kategorie tags id
        $GLOBALS['LORINSER']['API_IMPORT']['category'] = array
        (
        'Cabrio/Roadster' => 510,
        'Gelaendewagen/Pickup' => 511,
        'Kombi' => 512,
        'Limousine' => 513,
        'Sportwagen/Coupe' => 514,
        'Kasten' => 515,
        'Van/Kleinbus' => 516,
        'Andere Nutzfahrzeuge' => 517,
        ); 
        Zuletzt geändert von Tim; 11.07.2017, 10:31.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Nochmal ich.

          Wo muss ich dann die Dateien eigentlich hin packen? Sehe ich das richtig, dass das in ein Ordner mit dem Namen der Klasse muss oder verstehe ich das falsch? Oder wo muss das dann rein? Und im globals kommt beim ersten die Tabelle oder?

          Wie mache ich das am besten eigentlich mit den Bildern? suche ich da in der Datenbank nach der der URL und nehme davon dann die uuid oder gibts da noch einen anderen weg?
          Zuletzt geändert von Sukrams; 11.07.2017, 16:26.

          Kommentar


          • #6
            Soetwas verpackt man, wie auch Hooks, in eine eigene Erweiterung.

            Bilder packt man über den Pfad an und ermittelt über Contaos Files Klasse die uuids.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Moin,

              ich hab das über den Extension Creator erstellen lassen und die Files auch entsprechend angepasst und hochgeladen. Das gute, denke ich, ist, dass schon mal nichts beim Import passiert. Also denke ich grätscht es da schon irgendwo zwischen ;-) Das schlechte... es passiert halt nichts ;-)

              Muss ich da noch irgendwie eine andere Funktion vor dem Array aufrufen? Und was ich mich bei der Doku gefragt habe: Muss ich das $arrSet und/oder $objAPI noch irgendwie definieren oder geschicht das über den CC? (So verstehe ich das momentan)

              Viele Grüße
              Markus

              Kommentar


              • #8
                Puhh... das übersteigt den normaler Support - das ist Schulungsmaterial. Wie soll ich dir das erklären? Hast du überhaupt schon mal einen Hook/Callback in Contao verwendet? Ich würde mit etwas viel einfacherem Anfangen und überhaupt erstmal irgendeinen Hook in Contao aufrufen und schauen wie das generell funktioniert mit Werteübergabe und Rückgabe.

                Hast du die Threads von mir und d23 studiert? Wir gehen da tiefer ins Detail wie man mit Callbacks arbeitet - auch speziell mit Beispielen für die API.
                Zuletzt geändert von Tim; 13.07.2017, 07:10.
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Einen Hook/Callback habe ich so wissentlich noch nicht verwendet, oder zählt sowas wie Übersetzung ändern oder Tags in den Überschriftsfeldern ändern schon dazu? Also diese Änderungen in der dcaconfig vornehmen.

                  Ich guck mir das auch nochmal bei Contao an.

                  Die Threads habe ich schon mal gelesen, werde das gleich nochmal tun.

                  Kommentar


                  • #10
                    Nein, das zählt nicht dazu. Das wäre nur Variablen überschreiben. Callbacks sind richtige PHP Funktionen, die in den Hooks Arrays deklarierten Klassen aufgerufen werden.
                    http://www.premium-contao-themes.com

                    Kommentar

                    Lädt...
                    X