Ergebnis 1 bis 7 von 7

Thema: UUID erhalten

  1. #1
    Contao-Nutzer
    Registriert seit
    13.04.2014.
    Ort
    Krefeld
    Beiträge
    7

    Standard UUID erhalten

    Hallo liebe Gemeinschaft,

    ich habe vermutlich ein symples Problem aber komme zu keiner Lösung.

    Ich habe ein Modul in dem eine Datei, (ein Bild) gespeichert wird.
    Die Datei kommt über ein Datei Upload Feld aus der Dateiverwaltung.

    Das funktioniert soweit, der Datensatz lässt sich auch speichern und später auch ändern.
    Das Feld selbst ist vom Typ Blob oder Binary(16).

    Um das Bild nun im Frontend auszugeben habe ich ein Modul geschrieben.
    Hier wollte ich über das Datenfeld der Tabelle die UUID ermitteln.
    Alle benötigten Bildinformationen befinden sich ja in der Tabelle tl_files.

    Daher meine Frage über welchen Befehl erhalte ich die UUID um von den selektierten Datensatz auf die Tabelle tl_files zuzugreifen.

    Es wird Contao 4.4 verwendet, die geschriebenen Module befinden sich aber noch in der alten Struktur (Contao 3.5) also innerhalb vom Ordner system.

    Anmerkung:
    Jede prepare Anweisung führt zu einem Fehler.
    Bsp.:
    $myData = \Database::getInstance()
    ->prepare("SELECT ....

    Danke im Voraus

  2. #2
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.081
    Contao-Projekt unterstützen

    Support Contao

    Standard

    So ganz habe ich das nicht verstanden. Mit dem Feld meinst du das, was dein Modul speichert? Welchen Typ hat es denn jetzt? blob oder binary(16)?
    binary(16) sind bei einer Datei in tl_files nur UUIDs, also die Felder 'pid' und 'uuid'. Vom Typ blob sind nur die Metadaten ('meta'). Also was genau speichert dein Modul? Was hast du also und was brauchst du? Dein Datenfeld wird wohl schon die UUID der Datei sein. Eigentlich kann man alles über das FilesModel bekommen und muss nicht irgendwelche Datenbankzugriffe selbst programmieren.

  3. #3
    Contao-Nutzer
    Registriert seit
    13.04.2014.
    Ort
    Krefeld
    Beiträge
    7

    Standard

    Hallo tab,

    mit dem vorhandenen Modul hole ich aus der Dateiverwaltung entweder ein Bild oder auch eine andere Datei (PDF). Ich kann hier selber das Format bestimmen.
    Also das was sich am besten hierfür eignet.

    Die Information steht hinterher in einer DB Tabelle die ich dafür angelegt habe.

    Nun weis ich aber leider nicht mit welcher Funktion von Contao ich die UUID ermitteln kann.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.164
    Partner-ID
    10107

    Standard

    Du musst das genauer erklären. Die UUID erhältst du nicht "von Contao" sondern eigentlich von deiner Tabelle.

  5. #5
    Contao-Nutzer
    Registriert seit
    13.04.2014.
    Ort
    Krefeld
    Beiträge
    7

    Standard

    Um das Bild zu speichern habe ich die entsprechende DCA Datei erweitert.

    Man kann in diesem Fall auswählen.

    Der Code hierzu:

    In der
    PHP-Code:
    'm_image'                         => array
            (
                
    'label'                       => &$GLOBALS['TL_LANG']['tl_user']['m_image'],
                
    'exclude'                     => true,
                
    'inputType'                   => 'fileTree',
                
    'eval'                        => array
                        (
                                
    'fieldType'            =>'radio'
                                
    'tl_class'            =>'clr',
                                
    'files'                => true,
                                
    'files_only'        => true,
                                
    'extensions'        => 'jpg,png,gif'
                        
    ),
                
    'sql'                         => "binary(16) NULL"
            
    ), 
    Im Feld "m_image" finde ich folgenden Wert: 14804be2ab8f11e8b6c300155d223c02

    In der Tabelle tl_files finde och auch einen Eintrag mit dem entsprechenden Bild aber ich weis nicht wie ich den Datensatz dort ermitteln kann.
    Was ich ja benötige ist der Pfad zu dem Bild.

    Ich hoffe die Infos waren verständlich.

    Danke schon einmal.
    Geändert von xchs (30.08.2018 um 13:42 Uhr) Grund: Code-Tags

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.164
    Partner-ID
    10107

    Standard

    PHP-Code:
    $file = \FilesModel::findByUuid();
    echo 
    $file->path

  7. #7
    Contao-Nutzer
    Registriert seit
    13.04.2014.
    Ort
    Krefeld
    Beiträge
    7

    Standard

    Hallo Spooky,

    super das war es.

    Hat mir ein gutes Stück weiter geholfen.

    Liebe Grüße

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
  •