Ergebnis 1 bis 3 von 3

Thema: Gelöst [] Contao 4.6.14: class BaseTemplate oder Pfad bei Symfony?

  1. #1
    Contao-Nutzer Avatar von Eva
    Registriert seit
    03.07.2013.
    Beiträge
    149

    Standard Gelöst [] Contao 4.6.14: class BaseTemplate oder Pfad bei Symfony?

    Liebe Community

    Ich habe eine Erweiterung von Contao 3.5. Bei dieser Erweiterung kann man bei einem Blog-Eintrag zusätzlich ein Headerbild bestimmen. Nun erhalte ich bei 4.6.14 eine Fehlermeldung bei der Ausgabe des Bildes:

    Im log:
    PHP-Code:
    request.CRITICALUncaught PHP Exception Symfony\Component\Debug\Exception\ClassNotFoundException"Attempted to load class "BaseTemplate" from the global namespace. Did you forget a "use" statement?" at /home/httpd/vhosts/xxx.ch/httpdocs_sd21/manager/system/modules/news_HD/classes/HD_TemplateFunktionen.php line 34 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ClassNotFoundException(code: 0): Attempted to load class \"BaseTemplate\" from the global namespace.\nDid you forget a \"use\" statement? at /home/httpd/vhosts/xxxx.ch/httpdocs/manager/system/modules/news_HD/classes/HD_TemplateFunktionen.php:34)"
    Der Code dieser Class sieht so aus:

    PHP-Code:
    namespace Contao;

    class 
    HD_TemplateFunktionen extends \Frontend
    {
        
        public function 
    useHeaderbildAsPicture($strTemplate,$objFrontendTemplate)
        {

            
    $objTmp = new \FrontendTemplate('ce_image');
            
            
    $arrData['singleSRC'] = \FilesModel::findByUuid($objFrontendTemplate->singleSRC_header )->path;
            
            \
    Controller::addImageToTemplate($objTmp,$arrData);
            
            \
    BaseTemplate::insert($strTemplate,$objTmp->picture);
            
        }


    Die Ausgabe im HTML :

    PHP-Code:
    <?php if ($this->addHeaderImage): ?>
        <div class="ce_image">
          <figure class="image_container">
        
          <?php  
            HD_TemplateFunktionen
    ::useHeaderbildAsPicture('picture_default',$this);
          
    ?>
        
          </figure>
        </div>
    <?php endif; ?>
    Gibt es in Contao 4 die Class BaseTemplate nicht mehr? Oder muss ich für Symfony den Pfad anders definieren? Der Rest der Erweiterung funktioniert noch einwandfrei (es erstellt die Eingabefelder im Backend und speichert die Daten in die Datenbank).

    Kann mir da evt jemand weiterhelfen?
    Liebe Grüsse
    Eva
    Geändert von Eva (22.12.2023 um 11:43 Uhr)

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Exakt, \BaseTemplate existiert nicht mehr (und war wohl nie zur direkten Verwendung gedacht). Ersetze den Aufruf \BaseTemplate::insert mit $objFrontendTemplate->insert und es sollte wieder funktionieren.

  3. #3
    Contao-Nutzer Avatar von Eva
    Registriert seit
    03.07.2013.
    Beiträge
    149

    Standard

    Super, vielen Dank! Funktioniert nun einwandfrei!
    Liebe Grüsse Eva

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
  •