Ankündigung

Einklappen
Keine Ankündigung bisher.

API Import/Export Galerie Bilder

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

  • API Import/Export Galerie Bilder

    Hallo Support Team,

    wir würden gern einen API Export und Import für eine Bildergalerie durchführen. Wie definieren wir die Ausgabe von Bildern die zu einer Galerie je Produkt gehören als Unique ID?
    Unser Problem ist, dass bei einer Mehrfachauswahl von Bildern in einer Galerie eine Binär Nummer ausgegeben wird.

    Besten Dank vorab!

  • #2
    Galerien speichern als Blob (Array mit darin enthaltenden binäre Werten).
    Die Konvertierung erfolgt über die Methoden uuidToBin bzw. binToUuid der StringUtil Klasse, je Array-Wert. In die DB gehören die Binär-Werte innerhalb des Blob. Lesbar sind aber die unique IDs für das System.

    Hat man einen reinen Dateipfad sollte man vorab über Contao \Files Klasse gehen. Sind die Bilder sogar Fremddaten müssen diese erste kopiert werden und über die Dbafs Klasse die externe Ressource dem System mitteilen.

    Dateiumwandlungen mit direkter Auswahl kann die API von Haus aus. Aktion > Datei bzw. Dateien.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Hallo Tim,

      was meinst Du genau mit: "Hat man einen reinen Dateipfad sollte man vorab über Contao \Files Klasse gehen." ?
      Kannst Du das genauer beschreiben?

      Nur als kurze Erklärung, was ich bisher gemacht habe..

      Modus "Umwandlung: Binär zu Unique ID" bei den Aufgaben meines API Exports
      und dem Modus "Umwandlung: Unique ID zu Binär" beim API Import.
      Es funktioniert einwandfrei wenn keine Galerie gewählt wurde, sondern ein Einzelbild (keine Mehrfachauswahl). Mit einem Einzelbild kann ich binär als Unique ID exportieren, und danach Unique ID als binär importieren.
      Wie soll ich bei einer Mehrfachauswahl vorgehen?

      Kommentar


      • #4
        Hallo Tim,

        nochmals eine ergänzende Fragen:
        Wir haben je Produkt 1-mehrere Bilder (Galerie).
        Wie erhalten wir vom Pfad "/files/bilder/produkt/produkt1.jpg" einem binären Eintrag in der Datenbank?

        Kommentar


        • #5
          Eine Mehrfachauswahl müssen als serialisierte Array gespeichert werden. Jeder Eintrag ist der binäre Wert. In jedem Fall muss man Contaos File, Files und Dbafs Klasse studieren. Die Dbafs Klasse ist die Klasse des Dateisystems.
          Kommt nur ein lesbarer Pfad rein, sollte man die Ressource dem Dateisystem vorab hinzufügen und so erkenntlich machen.

          $objRes = \Dbafs::addRessource(MEIN-DATEI-PFAD);
          var_dumpt($objRes);

          Referenz: https://github.com/contao/core/blob/.../Dbafs.php#L47

          Rückgabewert ist das File Model Objekt.
          Das enthält die uuid, die wiederum binär umgewandelt werden muss.

          Das muss man für jeden lesbaren Pfad der Galerie machen und wieder einen Array formen, der in die DB geschrieben wird.
          ---
          Ich würde empfehlen die Wertermittlung in Form Hook-Callback-Funktion zu machen. Aktion: Hook-Callback-Funktion ausführen. Konkrete Anwendungs-Beispiel finden sich hier im Forum z.B. in diesem Thread: https://forum.premium-contao-themes....=6243#post6243
          Zuletzt geändert von Tim; 23.11.2018, 08:06.
          http://www.premium-contao-themes.com

          Kommentar

          Lädt...
          X