Contao-Camp 2024
Ergebnis 1 bis 2 von 2

Thema: Modul Anpassungen für Contao 3 - das Datenbank gestützte Filesystem

  1. #1
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Lächelndes Gesicht Modul Anpassungen für Contao 3 - das Datenbank gestützte Filesystem

    Contao 3 speichert ja nun nicht mehr die Dateipfade + Dateiname z.B. im Feld singleSRC sondern eine Zahl.
    (der Pfad + Dateiname steht nun zentralisiert in einer anderen Tabelle)
    Auch beim Update von Contao 2 auf 3 hat der Updater eine Methode updateFileTreeFields für alle fileTree Typen im DCA.
    Der wandelt alles um beim Update was den Typ fileTree im DCA hat.

    Im Falle meines Banner Moduls z.B. heißt das, wähle ich im Backend ein Bild aus, steht nach dem Speichern kein Pfad sondern eine Zahl im Feld banner_image.

    Beim Anzeigen im Frontend, im Backend (DCA Ausgabe) oder im Callback Backend Modul muss nun aus der Zahl wieder der gesuchte Pfad und Dateiname werden.
    Hier mal ein Auszug wie das geht.

    PHP-Code:
    // in singleSRC Spalte steht nun eine Zahl

    // Check for version 3 format
    if (!is_numeric($this->singleSRC))
    {
        return 
    '<p class="error">'.$GLOBALS['TL_LANG']['ERR']['version2format'].'</p>';
    }

    $objFile = \FilesModel::findByPk($this->singleSRC); 
    in $objFile->path steht nun der gesuchte Inhalt.
    Die Art der Rückmeldung mit dem Versionshinweis, wenn irgendwie doch noch der Pfad und nicht eine Zahl enthalten ist, muss natürlich angepasst werden, jenachdem wo ich mich grad befinde (BE DCA, FE, BE Callback)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Standard Nachtrag für multiSRC Felder

    Nachtrag: bei multiSRC Felder, wo also mehrere UUIDs enthalten sind, geht dann der Aufruf in etwa so:
    PHP-Code:
    $objFiles = \FilesModel::findMultipleByIds($this->multiSRC); 
    bzw. ab Contao 3.2 auch:
    PHP-Code:
    $objFiles = \FilesModel::findMultipleByUuids($this->multiSRC); 
    dann allerdings weiter über while
    PHP-Code:
    while ($objFiles->next())
    {
        
    // hier ist nun in $objFiles->path wieder das gesuchte

    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

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
  •