Contao-Camp 2024
Ergebnis 1 bis 4 von 4

Thema: Cannot redeclare class contao\contentelement

  1. #1
    Contao-Nutzer
    Registriert seit
    10.11.2010.
    Beiträge
    15

    Standard Cannot redeclare class contao\contentelement

    Hi!

    ich habe gerade eine unerwartete Fehlermeldung.

    Cannot redeclare class contao\contentelement ... ClassLoader.php

    Das seltsame daran ist, dass das nur in Produktion auftritt, auf der Devkiste nicht. Das ganze ist auf prod eine 1:1 Kopie, also soweit identisch.

    Wenn ich in der ContentSrurvey "... extends ContentElement" durch "... extends \ContentElement" ersetzt läuft es auch auf Prod. Noch kann ich mir nicht erklären warum das beim Contao-Namespace auftritt, im \ aber nicht.

    Ach ja, CTO 3.0.6 und survey 3.0.0 stable Build 20. Also von heute früh. Auf Prod läuft ein php 5.3.10, auf dev 5.3.3

    Volker

  2. #2
    Contao-Nutzer
    Registriert seit
    05.08.2013.
    Beiträge
    4

    Standard Ähnliches Problem

    Ich habe ein ähnliches Problem. Es scheint immer aufzutauchen, wenn man versucht eines der core-elemente abzuleiten.

    Ich habe die klasse

    Code:
    class ContentDownloadsExtended extends \Contao\ContentDownloads
    {
      ...
    }
    Und bekomme

    Code:
    Cannot redeclare class Contao\ContentDownloads
    Wenn ich im ClassLoader (system\modules\core\library\Contao\ClassLoader) die beiden "include" Anweisungen der methode load durch include_once ersetze, funktioniert es:
    Code:
    	public static function load($class)
    	{
    		if (class_exists($class, false) || interface_exists($class, false))
    		{
    			return;
    		}
    
    		// The class file is set in the mapper
    		if (isset(self::$classes[$class]))
    		{
    			if ($GLOBALS['TL_CONFIG']['debugMode'])
    			{
    				$GLOBALS['TL_DEBUG']['classes_set'][] = $class;
    			}
    
    			include_once TL_ROOT . '/' . self::$classes[$class];
    		}
    
    		// Find the class in the registered namespaces
    		elseif (($namespaced = self::findClass($class)) != false)
    		{
    			if ($GLOBALS['TL_CONFIG']['debugMode'])
    			{
    				$GLOBALS['TL_DEBUG']['classes_aliased'][] = $class . ' <span style="color:#999">(' . $namespaced . ')</span>';
    			}
    
    			include_once TL_ROOT . '/' . self::$classes[$namespaced];
    			class_alias($namespaced, $class);
    		}
    
    		// Pass the request to other autoloaders (e.g. Swift)
    	}
    @Leo: ist das ein Bug? Könntet ihr das entsprechend anpassen?
    Geändert von klawipo (05.08.2013 um 10:11 Uhr)

  3. #3
    Contao-Nutzer Avatar von fivebytes
    Registriert seit
    18.01.2013.
    Ort
    Iserlohn
    Beiträge
    93

    Standard gleiches Problem bei meberlist mit pagination

    Hallo zusammen,

    sobald ich bei meiner Mitgliederliste die Pagination einstelle bekomme ich auch folgenden Fehler:

    [02-Jul-2014 15:48:03] PHP Fatal error: Cannot redeclare class Contao\Pagination in ...system/modules/core/library/Contao/Pagination.php on line 29

    Mache ich aus dem include ein include_once läuft alles einwandfrei!?

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

    Standard

    Lasst mal den "Vendor" Contao wech:
    PHP-Code:
    class ContentDownloadsExtended extends \ContentDownloads
    {
      ...

    So sollte es gehen. Hat was mit dem Autoloader von Contao zu tun.
    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
  •