MetaModels Workshop in Berlin
Ergebnis 1 bis 10 von 10

Thema: wie singleSRC umwandeln nach Update 3.1 to 3.5?

  1. #1
    Contao-Nutzer
    Registriert seit
    12.03.2012.
    Ort
    Dresden
    Beiträge
    151

    Standard wie singleSRC umwandeln nach Update 3.1 to 3.5?

    Hallo,

    nach einem umfassenden Update habe ich schon die meisten Probleme gelöst, aber eines ist noch folgendes:

    Ich habe mit dem Elementgenerator Inhaltselemente angelegt, die auch Bilder enthalten. Normalerweise wurden alle Bilder-IDs mit der Extension wp_uuid_creator umgewandelt, hier aber nicht.
    In der tl_content finde ich im Array in der Spalte dma_eg_data noch die alten IDs zu dem Bild. Gibt es hier eine Lösung, wie ich das nachträglich noch hinbekome?

    Danke für jeden Hinweis.

    Viele Grüße
    Silvia

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.613
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    <?php echo \FilesModel::findByUuid($mySingleSRC)->path?>
    Sowas kann man hier auch über die Suche finden, z.B. hier https://community.contao.org/de/show...plate-ausgeben
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Nutzer
    Registriert seit
    12.03.2012.
    Ort
    Dresden
    Beiträge
    151

    Standard

    Das hab ich auch gefunden und alle meine eigenen Erweiterungen so angepasst.

    Mir ist nur nicht klar, wie und wo ich das im Elementgenerator einbauen sollte.
    Das Problem ist doch, dass die Bilder noch als normale IDs im Element gespeichert sind und gar nicht in UUIDs umgewandelt wurden.

    Auch ist diese ID eben in der Spalte dma_eg_data in einem serialisierten Array gespeichert.

    Vielleicht hat ja noch jemand eine Idee? Stand denn noch niemand vor diesem Problem?

    Viele Grüße
    Silvia

  4. #4
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.613
    User beschenken
    Wunschliste

    Standard

    Schau mal in der tl_files, ob du dort anhand irgendeiner Spalte dein Bild identifizieren kannst. Welche Ausgabe im Template gibt dir $this->showTemplateVars()? Mit dem FilesModel kannst du in dieser Tabelle nach einem Wert suchen und dir den Wert einer anderen Spalte zurückgeben lassen. Beispiel:
    PHP-Code:
    $imgPath = \FilesModel::findById($myId)->path
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  5. #5
    Contao-Nutzer
    Registriert seit
    12.03.2012.
    Ort
    Dresden
    Beiträge
    151

    Standard

    Schau mal in der tl_files, ob du dort anhand irgendeiner Spalte dein Bild identifizieren kannst.
    Welche Ausgabe im Template gibt dir $this->showTemplateVars()?
    Die Template-Variable gibt mir unter

    Code:
    $this->elements['image']
    aus: Dieses Element verwendet noch das alte Contao 2 SRC-Format. Haben Sie die Datenbank aktualisiert?

    Weiterhin unter:

    Code:
    $this->data['image'][raw][singleSRC] => 6661
    das ist die ID des Bildes in der tl_files, das ich brauche. M.E. müsste ja dort aber die UUID rein, aber ich hab keine Ahnung, wie ich automatisch in all diesen Elementen den Austausch vornehmen könnte?

    Mit dem FilesModel kannst du in dieser Tabelle nach einem Wert suchen und dir den Wert einer anderen Spalte zurückgeben lassen.
    Dazu müsste ich aber direkt in der Erweiterung DMA Elementgenerator Änderungen vornehmen? Oder kann ich diese Abfrage direkt im Template machen?

    Danke und viele Grüße
    Silvia

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    20.567
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    PHP-Code:
    <?php echo \FilesModel::findByUuid($mySingleSRC)->path?>
    Sowas kann man hier auch über die Suche finden, z.B. hier https://community.contao.org/de/show...plate-ausgeben
    Das hilft ihm ja nicht, er möchte ja die ganzen singleSRC referenzen der DMA Elemente auf UUIDs aktualisieren. Anscheinend hat der dma_elementgenerator keine Upgrade Routine für so etwas. Vielleicht kann JanoschSkuplik hier weiter helfen.

  7. #7
    Contao-Fan Avatar von JanoschSkuplik
    Registriert seit
    13.08.2009.
    Ort
    Raesfeld
    Beiträge
    535
    Partner-ID
    6909
    User beschenken
    Wunschliste

    Standard

    Hallo Silvia,

    kann ich mir das ggf. mal ein einer Test- oder Live-Umgebung ansehen? Ich denke, dass das ziemlich schnell angepasst sein dürfte. Zugangsdaten etc. gerne per PM.

    Viele Grüße
    Janosch

  8. #8
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.613
    User beschenken
    Wunschliste

    Standard

    Ja, das hätte ich jetzt auch gesagt, dass du beim Entwickler nach dem richtigen Updateprozess nachfragen sollst, falls da nicht schon was in den Tickets zu finden ist https://github.com/DMAGmbH/dma_elementgenerator.

    Du kannst jetzt zwar im Template den Pfad über die ID holen,
    PHP-Code:
    $imgPath = \FilesModel::findById($this->data['image'][raw][singleSRC])->path
    aber richtig wäre wohl, dass in der DB die UUID anstatt der ID steht.

    Achtung, du kannst in den DB-Feldern die ID nicht direkt mit der UUID tauschen, du musst vor der Umwandlung deserialize() und dann wieder serialize() anwenden, um ein gültiges serialisiertes Array zu schreiben.

    Wenn du nicht so viele Elemente hast, kannst du vielleicht auch mal auf [rocksolid-custom-elements] https://contao.org/de/erweiterungsli...-elements.html umsteigen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  9. #9
    Contao-Fan Avatar von JanoschSkuplik
    Registriert seit
    13.08.2009.
    Ort
    Raesfeld
    Beiträge
    535
    Partner-ID
    6909
    User beschenken
    Wunschliste

    Standard

    Kurz mal zum aktuellen Status: dieses Phänomen ist aktuell bereits berücksichtigt. Lediglich die "alten" Templatevariablen sind hier nicht optimiert (fields, elements, etc.). Im neueren data-Array werden die verschiedenen "Eigenschaften" von Contao berücksichtigt. Hierüber ist auch eine Ausgabe im Template möglich:
    PHP-Code:
    <img src="<?= $this->data['##KEY##']['value'?>" alt="">
    bzw.
    PHP-Code:
    <?= $this->data['##KEY##']['parsed'?>
    Geändert von JanoschSkuplik (24.10.2016 um 12:00 Uhr)

  10. #10
    Contao-Nutzer
    Registriert seit
    12.03.2012.
    Ort
    Dresden
    Beiträge
    151

    Standard

    Für mich passt die Lösung von Janosch jetzt so, vielen Dank an alle fürs mitdenken und helfen.

    Viele Grüße
    Silvia

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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