Ankündigung

Einklappen
Keine Ankündigung bisher.

Export von Custom Elements für Import in Katalog / BLOB-Format

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

  • Export von Custom Elements für Import in Katalog / BLOB-Format

    Hallo!

    Ich möchte gerne Custom Elements, die ich angelegt habe, in einen später dazu erstellten Katalog exportieren.
    Leider komme ich nicht voran, da ich zwar die Custom Element Daten aus der Datenbank exportieren kann, aber leider noch keine Möglichkeit gefunden habe, die BLOBs mit den benötigten Daten vernünftig auszulesen.

    Ich habe zeitweise einen anderen Ansatz verfolgt, eine manuelle Ausgabe aller benötigten Daten über ein eigenes Template; so dass ich die Daten direkt von einer Inhaltsseite kopieren und als .csv speichern kann, um diese dann in meinen Katalog zu importieren.
    Leider stoße ich auch hier auf ein Problem: ich kann zwar ganz hübsch Bild-IDs ausgeben, allerdings weiß ich nicht, wie ich die Bildgröße als String ausgebe (also z.B. a:2:{i:0;s:4:"size";i:1;s:8:"fullsize";} ). Somit komme ich auch mit diesem Ansatz nicht weiter.


    Es gibt sicher eine ganz einfache Methode, die ich schlicht übersehe. Darum wäre ich sehr dankbar, wenn mich jemand mit der Nase darauf stoßen könnte


    Vielen Dank und schöne Weihnachtstage

  • #2
    Hi,

    Es gibt sicher eine ganz einfache Methode, die ich schlicht übersehe.
    Absolut nicht. Die Aufgabe ist alles andere als einfach. Ich kann hier im Rahmen des Forums und Supports die Eckpfeiler aufzeigen.

    Die Inhalte bzw. der Datenaufbau von CEs speichern in der tl_pct_customelement_vault Tabelle: tl_pct_customelement_vault.data_blob

    Die Felder pid, source verweisen auf die Zieltabellen und Ziel-Datensatz.

    Beispiel für normales Inhaltselement
    tl_pct_customelement_vault.pid = ID-INHALTSELEMENT
    tl_pct_customelement_vault.source = tl_content

    Falls ein CustomElement Widget innerhalb eines CustomCatalogs eingesetzt wird, kommt zusätzlich das Feld tl_pct_customelement_vault.attr_id zum Einsatz

    tl_pct_customelement_vault.attr_id = ID-CUSTOMELEMENT-WIDGET-ATTRIBUTE
    ---

    Blob daten sind serialisierte Array.

    $arrData = \Contao\StringUtil::deserialize( BLOB-DATA );

    ich die Bildgröße als String ausgebe (also z.B. a:2:{i:0;s:4:"size";i:1;s:8:"fullsize";} )
    1. Serialisierten blob deserialiseren (siehe oben)
    2. 'size' aus dem Array auslesen => hier ist es der ID-Verweis auf Contaos resp. Image Datensätze
    3. Image Datensatz anhand der ID aus tl_image_size (tl_image_size_item) via DB-Select Abfrage holen. -> Darin befinden sich die lesbaren Größen.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Hallo Tim,

      vielen Dank für den Ansatz Über das Deserialisieren konnte ich nun einen export-Template erstellen, der mir direkt alle Elemente in meinen Katalog exportiert.

      Was vielleicht noch interessant ist:
      Nicht alle Custom Elements waren im Vault mit data = <elementtyp> bezeichnet. Da aber in tl_content die entsprechended Elemente korrekt getagged waren, konnte ich über einen JOIN mit der customelement_vault pid arbeiten.

      Kommentar

      Lädt...
      X