| Autor |
Nachricht |
|
Verfasst am: 20. 04. 2012 [10:36]
|
|
ralphle
Themenersteller
Dabei seit: 02.08.2005
Beiträge: 73
|
Hallo, vieleicht weiss jemand Rat?
Ich habe die Extension "ad_google_maps" eingebunden. Beim anlegen der Layer bekomme ich aber immer die Fehlermeldung:
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.
|
|
Verfasst am: 24. 04. 2012 [11:58]
|
|
cirillo
Dabei seit: 27.05.2011
Beiträge: 12
|
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
|
|
Verfasst am: 24. 04. 2012 [12:02]
|
|
ralphle
Themenersteller
Dabei seit: 02.08.2005
Beiträge: 73
|
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
[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 24.04.2012 um 12:04.]
|
|
Verfasst am: 18. 05. 2012 [14:46]
|
|
ikkez
Dabei seit: 04.08.2008
Beiträge: 28
|
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
$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:
$tempComp = t3lib_div::makeInstance('Tx_Fluid_Core_Compiler_TemplateCompiler');
$this->view->injectTemplateCompiler($tempComp);
da aber noch mehr fehlen könnte, lieber so umschreiben das der ObjectManager verwendet wird. z.B. so:
$this->objectManager = t3lib_div::makeInstance('Tx_Extbase_Object_ObjectManager');
$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
|
|
Verfasst am: 21. 05. 2012 [09:02]
|
|
ralphle
Themenersteller
Dabei seit: 02.08.2005
Beiträge: 73
|
Hi,
tausend Dank, werde ich ausprobieren.
|
|
Verfasst am: 21. 05. 2012 [11:12]
|
|
cirillo
Dabei seit: 27.05.2011
Beiträge: 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
Dateianhang
|
|
Verfasst am: 21. 05. 2012 [23:26]
|
|
dwenzel
Dabei seit: 19.05.2012
Beiträge: 1
|
ralphle schrieb:
Hallo, vieleicht weiss jemand Rat?
Ich habe die Extension "ad_google_maps" eingebunden. Beim anlegen der Layer bekomme ich aber immer die Fehlermeldung:
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.
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.
|
|
Verfasst am: 24. 05. 2012 [09:26]
|
|
cirillo
Dabei seit: 27.05.2011
Beiträge: 12
|
Hallo,
kennt jemand von euch sonst noch eine Extension die mit der Google Maps API v3 kompatibel ist?
lg
cirillo
|