Fatal error: Call to undefined method JFormFieldText::getRenderer()

  • Hi,


    wie mir geraten wurde, habe ich Joomla auf 3.8.11 upgegradet, dazu passend Akeeba auf 6.1.1, habe das aber erstmal auf einer alten Site http://www.gauschiessen2014.de durchgezogen und bin nicht glücklich damit. Die Site läuft, bloß verwalten kann ich sie nicht, weil die meisten Funktionen mit Fatal error: Call to undefined method JFormFieldText::getRenderer()abbrechen.


    Mit meinen PHP-Kenntnissen ist es nicht weit her, aber mE sollte Joomla sich doch nicht den Boden unter den Füßen wegziehen, indem es Module ausliefert, die nicht vorhandene Methoden aufrufen.


    Seit anderthalb Tagen forsche ich auf deutschen und englischen Seiten, ohne wirklich fündig zu werden. Hier im Forum bin ich auf "Datenbank reparieren" gestoßen, hat nicht geholfen. Der Tipp, das Verzeichnis libraries aus dem Upgrade-Package per FTP "drüberzubügeln", scheint nicht zielführend zu sein, die Ordner enthalten die gleichen Dateien, Anzahl und Größen stimmen überein, in der betroffenen Datei txt.php sogar der Inhalt.


    An Extensions gibt es hier nur Akeeba und das Sprachmodul, soweit ich weiß - prüfen kann ich es nicht, da die Funktion Erweiterungen verwalten zu denen gehört, die mit o.a. Fehler abschmieren.


    Für jeden Tipp dankbar -

    Gruß

    Ralf

  • Besser vor dem Update alle Extensions und Template/Framework updaten.


    Du könntest ein Backup einspielen und es nochmal versuchen.

    M.E. hast du bei einsundeins dieses im Paket.


    Oder du machst jetzt ein Backup und kopierst per FTP eine neue 3.8.11 FULL-Paket-Version

    ohne die Ordner /templates und /installation drüber.

  • Welche PHP-Version läuft?


    Hast du mal das gesamte Verzeichnis "administrator" drüberkopiert oder gar ein gesamtes Joomla 3.8.11 ohne "templates" und "Installation"-Verzeichnis, wie bereits beschrieben wurde? (natürlich aus seriöser Quelle)

    Nimm immer das gesamte Joomla-Zip und kein Update-Package oder ähnliches. Anschließend noch mal "DB reparieren" klicken!


    Nutzt du eine "erweiterte" .htaccess-Datei zum Schutz vor Angriffen, dessen Einträge oft den Nachteil haben, bestimmte Funktionen zu blockieren? Wärst da nicht der erste.

  • Zitat

    Mit meinen PHP-Kenntnissen ist es nicht weit her, aber mE sollte Joomla sich doch nicht den Boden unter den Füßen wegziehen, indem es Module ausliefert, die nicht vorhandene Methoden aufrufen.

    Welche Version hattest du denn vorher? Und wie hast du das upgrade durchgeführt?

    Nachdem dieserMethoden-Aufruf überall funktioniert, nur nicht bei dir, muss es an deiner Installation liegen.

    Was die anderen geraten haben ist richtig. Aber du kannst noch was tun:


    Mach als erstes: Im Backend bei Site / System das Debugging einschalten, eventuell auch error reporting auf "maximum" stellen. Dann bekommen wir mit etwas Glück die Zeile, in der das Problem auftritt. Vielleicht erkennen wir dann mehr.
    Wenn du da nicht hinkommst kannst du in der Datei configuration.php die Werte direkt setzen:

    (Datei vorher wegkopieren)


    Code
    public $debug = '1';
    public $error_reporting = 'maximum';
  • Hi,


    Elwood, JoomlaWunder


    - PHP 5.6 (noch).

    - bin dabei, 3.8.11 per FTP zu kopieren. Warum ohne templates & installation? Quelle ist die Joomla-Downloadseite, wusste gar nicht, dass es andere auch noch gibt.

    - .htaccess ist Original Joomla.


    firstlady


    2.5.8 > 3.5.1 > 3.6.5 > 3.8.11, Der erste Schritt, weil von 2.5.8 direkt auf 3.8.11 angeblich nicht möglich ist, dann mit dem "1-Click-Upgrade" weiter.


    Die komplette Meldung lautet


    Fatal error: Call to undefined method JFormFieldText::getRenderer() in /homepages/46/d30646678/htdocs/gauschiessen2014/libraries/joomla/form/fields

    /text.php on line 208


    Suchen auf dem Server zeigt die Function &getRenderer in \f0f\View\View.php, \fof\View\View.php und getRenderer in fof30\View\View.php. Was das Ampersand da bedeutet, weiß ich nicht.

    Gruß

    Ralf

  • War deine Ausgangsversion wirklich 2.5.8 oder meintest du 2.5.28?

    Falls ersteres: Man sollte zuerst auf die letzte 2.5-er updaten, also auf 2.5.28 plus der Sicherheitspatches, die nachgeschoben wurden.

    Erst dann auf Joomla 3. Keine Ahnung, ob du da deswegen ein Problem mitgeschleppt hast.

  • 3.8.1 sollte wohl auch 3.8.11 lauten. ;)


    Was Erweiterungen angeht, so ist da schon einiges installiert. Vermutlich nicht alles aktuell. Das ist aus der Ferne aber schwer zu beurteilen.


    Damit wir uns nicht vergebens bemühen: Könnte es sein, dass oberhalb deines Joomla-Verzeichnisses, also direkt im /htdocs, eine .htaccess liegt?


    EDIT: Die Caches sind sicherlich auch regelmäßig geleert worden? Es gibt mittlerweile einen im administrator-Verzeichnis (index.php aber nicht löschen)

  • Elwood


    War ein Tippfehler, aktuell ist 3.8.11. "Datenbank reparieren" meldet, dass alles aktuell sei, "Cache leeren" bringt


    Fatal error: Call to undefined method JFormFieldList::getAttribute() in /homepages/46/d30646678/htdocs/gauschiessen2014/layouts/joomla/searchtools/default.php on line 29


    Und diverse Buttons reagieren weiterhin mit


    Fatal error: Call to undefined method JFormFieldText::getRenderer() in /homepages/46/d30646678/htdocs/gauschiessen2014/libraries/joomla/form/fields

    /text.php on line 208


    So nah am Hinschmeißen war ich noch nie. Wie kann es denn sein, dass Joomla seine eigenen Ressorcen verbaselt!


    JoomlaWunder: Anbei die Verzeichnisstruktur; ein /htdocs sehe ich leider nicht. Erweiterungen werden mir ca 150 Stück gezeigt - wie soll die jemals jemand prüfen?


    firstlady: Datei ist da, enthält getRenderer.

  • Ich würde das ganze mal mit dem Template Protostar durchführen bzw. mal auf das Template wechseln.


    Dein Template ist für J1.6/1.7 von 2011.


    Kann sein, dass es hier zu Problemen kommt.


    EDIT:


    Die Ordner /downloads und /language sowie die Dateien htaccess und robots sind aber auch nicht aktuell!?

  • Wenn du den Cache nicht übers Backend leeren kannst, musst du es über FTP machen!


    Die .htaccess ist veraltet. Poste mal deren Inhalt! (Man weiß ja nie)

    Schau dir dann mal die htaccess.txt an. Deren Inhalt wäre die aktuelle Version und vergleich mal.


    Und zu meiner letzten Frage: Gehe mal eine Ebene höher in der Verzeichnishierarchie. Dann bist du unter /htdocs. Liegt da noch eine .htaccess.

  • Nachtrag zum Fatal Error:


    Suche im Verzeichnis gauschiessen2014/layouts/ zeigt nur die Stelle, an der getAttribute gerufen wird - müsste die Function denn nicht irgendwo in diesem Verzeichnisbaum definiert sein?