Ergebnis 1 bis 4 von 4

Thema: FilesModel in Contao 5

  1. #1
    Contao-Nutzer Avatar von cwe
    Registriert seit
    30.12.2020.
    Ort
    Münster (Westf)
    Beiträge
    33

    Standard FilesModel in Contao 5

    Hallo liebes Forum,

    ich habe ein Custom Element (Rocksolid) in Contao 4 erstellt und dieses nun in Contao 5 übernommen. Da passiert nichts wildes. Knackpunkt ist hierbei die Auswahl eines Bildes.

    DCA (gekürtzt)
    PHP-Code:
    <?php

    return array(
        
    'label' => array(
            
    'Hintergrund-Wrapper [ANFANG]',
            
    '',
        ),

        ...

        
    'fields' => array(
            
            
    'singleSRC' => array(
                
    'label' => array('Hintergrund Bild'''),
                
    'exclude'   => true,
                
    'inputType' => 'fileTree',
                
    'eval'      => array(
                    
    'filesOnly'  => true,
                    
    'fieldType'  => 'radio',
                    
    'extensions' => 'jpg,png,gif,webp',
                    
    'tl_class' => 'cbx clr'
                
    ),
                
    'sql'       => "binary(16) NULL"
            
    ),
        
        ...

        ),
    );
    Ausgabe (gekürzt)
    PHP-Code:
    if ( $this->singleSRC )
        
    $file = \FilesModel::findByUuid($this->singleSRC); 
    Error
    request.CRITICAL: Uncaught PHP Exception Symfony\Component\ErrorHandler\Error\ClassNotFound Error: "Attempted to load class "FilesModel" from the global namespace. Did you forget a "use" statement?"

    Der Rest funktioniert problemlos. Nur, wenn ich ein Bild auswähle erscheint der Fehler.

    Hat jemand eine Idee?

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

    Standard

    Die Klasse FilesModel befindet sich (schon immer) im Namespace Contao. Korrekt ist also
    PHP-Code:
    \Contao\FilesModel 
    oder
    PHP-Code:
    use Contao\FilesModel;

    FilesModel 
    statt
    PHP-Code:
    \FilesModel 
    Geändert von Spooky (22.11.2023 um 16:34 Uhr)
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer Avatar von cwe
    Registriert seit
    30.12.2020.
    Ort
    Münster (Westf)
    Beiträge
    33

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Die Klasse FilesModel befindet sich (schon immer) im Namespace Contao. Korrekt ist also
    PHP-Code:
    \Contao\FilesModel 
    oder
    PHP-Code:
    use Contao\FilesModel;

    FilesModel 
    statt
    PHP-Code:
    \FilesModel 
    Habe nun use Contao\FilesModel; als erste Anweisung hinzugefügt und es löst keinen Fehler mehr aus, danke!

    Technisch verständlich, aber in Contao 4 musste ich diesen Aufruf nicht starten. Ist das gewollt?
    Geändert von Spooky (23.11.2023 um 10:42 Uhr)

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

    Standard

    Zitat Zitat von cwe Beitrag anzeigen
    Technisch verständlich, aber in Contao 4 musste ich diesen Aufruf nicht starten. Ist das gewollt?
    Contao hatte bisher die eigenen Klassen im Contao Namespace auch immer in den Root Namespace gemapped. Das wurde in Contao 4 deprecated und in Contao 5 entfernt.
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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