Zum Inhalt springen

Probleme mit TMENU - Update von 4.5.1 auf 4.6.1

Erstellt am 25. Januar 2012 · 4 Antworten · letzte Antwort am 6. März 2012

Tags: PHP, Update & Upgrade, Frage

Thomas27 ·

Hallo,

meine Typo 3 Seite läuft seit jahren stabil, aber beim Update auf die neue Version 4.6.2 habe ich folgendes Problem:

folgende Umstiegsmaßnahmen wurden getätigt
- install tool: - update wizard, db compare, alle Konflikte in DB aufgelöst, alle Temp Ordnerinhalte gelöscht, Clear DB aufgerufen, localconf.php extensions entfernt und auf ein Minimum reduziert

es sind z.Z. nur die nötigsten Extensions installiert, da sollte es keine Konflikte geben

Mein Problem ist jetzt, dass das ganz normale tmenu, welches über Jahre so funktioniert hat, jetzt folgende Fehlermeldung ausgibt (siehe unter TS):

hp_template_bottom_menu >
hp_template_bottom_menu = HMENU 
hp_template_bottom_menu.special = list
hp_template_bottom_menu.special.value = 209
hp_template_bottom_menu.special.entryLevel = 1
	if {
		value = 209
		equals = 1
	}
hp_template_bottom_menu {
  1=TMENU
 1 {
 wrap = <ul class="navfooter">|</ul>
		expAll = 1
		noBlur = 1
		NO = 1
		NO {
			ATagTitle.field = abstract // description // subtitle // title
			wrapItemAndSub = |*| <li> | </li> |*| <li class="last"> | </li>
			stdWrap.htmlSpecialChars = 1
		}
		IFSUB < .NO
		IFSUB {
			wrapItemAndSub = |*| <li onmouseover="" class="dir"> | </li> |*| <li id="dirlast"> | </li>
		}
 }
 2 < .1
	2 {
		wrap = <ul id="nav2">|</ul>
		ACT.wrapItemAndSub = <li id="nav2act">|</li>
	}
 
	3 < .2
	3 {
		wrap = <ul id="nav3">|</ul>
		ACT.wrapItemAndSub = <li id="nav3act">|</li>
	}
}

Fehlermeldung im FE:

#1: PHP Runtime Notice: Non-static method tslib_cObj::getKey() should not be called statically, assuming $this from incompatible context in .../typo3_src-4.6.1/typo3/sysext/cms/tslib/class.tslib_menu.php line 178 (More information)

t3lib_error_Exception thrown in file
.../typo3_src-4.6.1/t3lib/error/class.t3lib_error_errorhandler.php in line 105.

10 t3lib_error_ErrorHandler::handleError(2048, "Non-static method tslib_cObj::getKey() should not …atically, assuming $this from incompatible context", ".../typo3…-4.6.1/typo3/sysext/cms/tslib/class.tslib_menu.php", 178, array)

.../typo3_src-4.6.1/typo3/sysext/cms/tslib/class.tslib_menu.php:

00176: }
00177: // EntryLevel

00178: $this->entryLevel = tslib_cObj::getKey (

00179: isset($conf['entryLevel.'])
00180: ? $this->parent_cObj->stdWrap($conf['entryLevel'], $conf['entryLevel.'])

..............................

Weitere Probleme nach dem Umstiegt:
Es sind ein paar Seitentitel, BEschreibungen, Keywörter und Records verschwunden??? Im BE ist dann jediglich noch das Icon der Seite in der jeweiligen Struktur vorhanden??? Das finde ich schon krass!

Fehlermeldungen im BE:
PHP Warning
PHP Warning: Illegal string offset 'description' in .../typo3_src-4.6.1/t3lib/class.t3lib_befunc.php line 2366

So ist der Umstieg erst einmal nicht zu empfehlen!

Julian.​Hofmann ·

Hallo Thomas.

Der Teil hat mich zumindest stutzig gemacht:

Thomas27 schrieb

00176: }
00177: // EntryLevel

EntryLevel in einem HMENU special=list? Das hat lediglich die value-Eigenschaft, jedoch, kein entryLevel. Vermutlich wurde das bislang einfach von TYPO3 dann ignoriert, während es jetzt Probleme macht, weil nicht korrekt (4.6 ist an vielen Stellen deutlich exakter und erwartet saubereren Code).

Viel Grüße
Julian

Thomas27 ·

Hallo Julian,

auf deiner Vermutung hin, habe ich mal folgendes probiert:

hp_template_bottom_menu >
hp_template_bottom_menu = HMENU 
hp_template_bottom_menu.special = list
hp_template_bottom_menu.special.value = 209
#hp_template_bottom_menu.special.entryLevel = 1
#	if {
#		value = 209
#		equals = 1
#	}
hp_template_bottom_menu {
  1=TMENU
# 1 {
# wrap = <ul class="navfooter">|</ul>
		#expAll = 1
		#noBlur = 1
#		NO = 1
#		NO {
#			ATagTitle.field = abstract // description // subtitle // title
#			wrapItemAndSub = |*| <li> | </li> |*| <li class="last"> | </li>
#			#stdWrap.htmlSpecialChars = 1
#		}
#		IFSUB < .NO
#		IFSUB {
#			wrapItemAndSub = |*| <li onmouseover="" class="dir"> | </li> |*| <li id="dirlast"> | </li>
#		}
# }
 #2 < .1
#	2 {
#		wrap = <ul id="nav2">|</ul>
#		ACT.wrapItemAndSub = <li id="nav2act">|</li>
#	}
 #
#	3 < .2
#	3 {
#		wrap = <ul id="nav3">|</ul>
#		ACT.wrapItemAndSub = <li id="nav3act">|</li>
#	}
}

Es ist also nur noch das TMenü aktiv, ohne Konfiguration.
Fazit -> der Fehler von oben wird ausgeworfen

Julian.​Hofmann ·

Oh... Bei genauerem Hingucken und im Core rumschauen, würde ich sagen:
Herzlichen Glückwunsch, Du darfst einen Bugreport schreiben ;-)

Merkwürdig finde ich nur, dass es niemand anderen bisher zu geben scheint, der das Problem hat... o.O