ad_google_maps - Fehlermeldung - Fatal error

  • ralphle ralphle
    R2-D2
    0 x
    78 Beiträge
    0 Hilfreiche Beiträge
    20. 04. 2012, 10:36

    Hallo, vieleicht weiss jemand Rat?
    Ich habe die Extension "ad_google_maps" eingebunden. Beim anlegen der Layer bekomme ich aber immer die Fehlermeldung:

    1. Fatal error: Call to a member function has() on a non-object in D:\website\typo3\sysext\fluid\Classes\View\AbstractTemplateView.php on line 197

    Neueste Versionen von Fluid sind installiert (1.4.1), statsiches Template ist eingebunden.
    Im Bugtracker steht leider nix.


  • 1
  • cirillo cirillo
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    24. 04. 2012, 11:58

    Hallo!

    Ich habe genau dasselbe Problem! Ich nutze die Typo3 Version 4.7.
    Im Typo3 4.5 ist mir dieser Fehler nicht aufgefallen - dort funktioniert es einwandfrei.

    Konntest du das Problem mittlerweile lösen?
    Oder hat sonst jemand das Problem lösen können?

    Danke im Voraus!

    lg
    cirillo

  • ralphle ralphle
    R2-D2
    0 x
    78 Beiträge
    0 Hilfreiche Beiträge
    24. 04. 2012, 12:02

    Leider nein, hab mirs leider aber auch noch nicht genauer Anschauen können. Wenn jwemand einen Hint hätte wäre ich auch glücklich. Meine Version TYPO3 4.6.6, habs aber auch bei einem Meine Version TYPO3 4.6.8 probiert, geht auch nicht.
    Grüße Ralph

  • ikkez ikkez
    T3PO
    0 x
    29 Beiträge
    0 Hilfreiche Beiträge
    18. 05. 2012, 14:46

    Hallo ich hab die gleiche Fehlermeldung, allerdings bei einer anderen Extension (in2rss) und hab mich auf die Suche gemacht.

    Ich denke das Problem ist hier dasselbe.

    In Fluid wurden die Dependencies ausgelagert und müssen jetzt über inject Funktionen beigefügt werden.
    Hier wurde also an entsprechender stelle die Tx_Fluid_Core_Compiler_TemplateCompiler Klasse nicht definiert, da in der Extension die Klasse AbstractTemplateView wahrscheinlich mit

    1. $this->view = t3lib_div::makeInstance('Tx_Fluid_View_TemplateView')
    erzeugt wurde.
    Dabei werden die injects nicht ausgeführt und müssen per Hand eingesetzt werden. z.B. mit:
    1. $tempComp = t3lib_div::makeInstance('Tx_Fluid_Core_Compiler_TemplateCompiler');
    2. $this->view->injectTemplateCompiler($tempComp);

    da aber noch mehr fehlen könnte, lieber so umschreiben das der ObjectManager verwendet wird. z.B. so:

    1. $this->objectManager = t3lib_div::makeInstance('Tx_Extbase_Object_ObjectManager');
    2. $this->view = $this->objectManager->get('Tx_Fluid_View_TemplateView');

    falls noch ne andere Fehlermeldung kommt, weitere makeInstance gegen objectManager tauschen, wie oben.
    das sollte es dann gewesen sein.

    grüße

  • ralphle ralphle
    R2-D2
    0 x
    78 Beiträge
    0 Hilfreiche Beiträge
    21. 05. 2012, 09:02

    Hi,
    tausend Dank, werde ich ausprobieren.

  • cirillo cirillo
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    21. 05. 2012, 11:12

    Hallo!

    Danke ikkez für deine Hilfe! Ich habe das jetzt versucht: die Fehlermeldung verschwindet, allerdings erscheinen nur die Tabs "Allgemein, Markierung, Infofesnter, usw." jedoch keine Eingagefelder (siehe Shreenshot im Anhang)

    Ich werde jetzt dieses Treat an den Autor dieser Extension mitteilen, da ich selbst gemerkt habe, dass man diesen Treat über die Suche nicht findet
    Vielleicht kann er uns dann weiterhelfen.

    Danke im Voraus an alle Beteiligten!

    Cirillo

    Anhänge (1)
    greenshot_2012-05-21_11-08-35.jpg image/jpeg 15,72 KiB 78 heruntergeladen
  • dwenzel dwenzel
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    21. 05. 2012, 23:26

    [quote="ralphle"]
    Hallo, vieleicht weiss jemand Rat?
    Ich habe die Extension "ad_google_maps" eingebunden. Beim anlegen der Layer bekomme ich aber immer die Fehlermeldung:

    1. Fatal error: Call to a member function has() on a non-object in D:\website\typo3\sysext\fluid\Classes\View\AbstractTemplateView.php on line 197

    Neueste Versionen von Fluid sind installiert (1.4.1), statsiches Template ist eingebunden.
    Im Bugtracker steht leider nix.
    [/quote]

    Ich hatte zwischenzeitlich mit dem Autor der Extension Kontakt. Er kommt derzeit nicht dazu, diese Version zu aktualisieren. Da auch der Bugtracker und das Wiki auf der forge-Seite der Extension deaktiviert sind, habe ich ihm vorgeschlagen, anderen Entwicklern die Mitarbeit zu ermöglichen.

    ralphles Beobachtung kann ich bestätigen. Soweit ich sehe hängt dieser Fehler mit dem Komprimieren und Zusammenfassen von JavaScript-Dateien zusammen. 'google' ist undefined.
    Selbst wenn die JavaScript-Fehler im Backend nicht mehr auftreten, funktioniert die Extension unter 4.6.8 nicht.

    Meine Versuche, mich weiter durchzuhangeln scheiterten in typo3conf/ext/ad_google_maps/Classes/Utility/BackEnd.php (Zeile 163, Fatal error: Call to undefined method Tx_Fluid_Core_Rendering_RenderingContext::setTemplateVariableContainer()) Der Versuch, hier eine Instanz des ObjectManagers zu erzeugen und mit der Instanzierung von Tx_Fluid_Core_ViewHelper_TemplateVariableContainer und Tx_Fluid_Core_Rendering_RenderingContext zu betrauen, schlugen fehl.
    Ich vermute, es wird noch mehr Stellen geben, bei denen ikkez Ansatz nicht ohne weiters funktioniert.
    Sehr schade, da die Extension m.E. wirklich gut durchdacht und gebaut ist.
    Eventuell ist für manche ein 'downgrade' nach t3 Version 4.5 ein Weg.

  • cirillo cirillo
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    24. 05. 2012, 09:26

    Hallo,

    kennt jemand von euch sonst noch eine Extension die mit der Google Maps API v3 kompatibel ist?

    lg
    cirillo

  • 1