TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Wird init zweimal aufgerufen?


Autor Nachricht
Verfasst am: 12. 08. 2009 [15:49]
arkel
Themenersteller
Dabei seit: 23.07.2004
Beiträge: 69
Hallo zusammen,

ich steh vor einem Rätsel: ich habe eine debug-Ausgabe in der init-Funktion meiner Extension gepackt und bekomme den Wert 2x ausgegeben.
Wird die Extension 2x geladen?
Ich kam auf das Problem, da ich ein Redirect auf eine Seite mache, eine Fehlermeldung in der Session speichere und diese später ausgebe - dummerweise ist die Meldung leer (da ich nach der Ausgabe auch die Variable aus der Session lösche) - eigentlich logisch, wenn die init() 2x aufgerufen wird...

Hat jemand schon mal ähnliche Probleme gehabt...?

Gruß,
Manu

ProfilWWW
Verfasst am: 13. 08. 2009 [11:27]
BlackPixel
Dabei seit: 22.04.2005
Beiträge: 193
Bindest Du die extension 2 mal auf der Seite ein, beides mal in versch. modis wie listview und detailview oder ähnliches?

wie schaut das debug aus? t3lib_div::debug($var)?

Gruß!
Profil
Verfasst am: 13. 08. 2009 [12:18]
arkel
Themenersteller
Dabei seit: 23.07.2004
Beiträge: 69
Hallo & danke für Deine Antwort,

t3lib_div::debug gibt mir jegliche Variablen 2x aus...

Meine Extension ist mit Flexforms ausgestettet, so dass ich im BE die Position bestimmen kann, um dann in der pi1-Klasse per switch zu entscheiden, was ausgegeben werden soll.

Seitenstruktur:

Startseite (MainTemplate)
Unterseite
Unterseite
Extensionseite (Ext. Template)
Unterseite Extension etc.

Zuerst hatte ich ein Problem mit meinem Ext.-Template, ich hatte unter Basis-Template einschließen mein Maintamplate eingeschlossen, was dann auch zweimal eingebunden wurde. Jetzt sollte es aber passen, der Template Analyzer zeigt jedenfalls zuerst das Maintemplate, darunter das Ext-Template.
Hier mußte ich etwas tricksen, um in meiner Extension vom zweispalten-Layout wegzukommen und nicht den kompletten TS in mein Ext-Template zu kopieren: im HTML-Template habe ich einen neuen subpart angelegt, der das zweispalten-Layout umschließt, um es mit der neuen Extension zu überschreiben.

HTML:
HTML
<!-- ###CONTENT_PROFILE### -->
<div id="sidebar">
	<!-- ###MINI_CART### -->
	<!-- ###MINI_CART### -->
	<!--###RIGHTNAVI###-->
	<!--###RIGHTNAVI###-->
</div>
<div id="left_column">
	###BACK_LINK###
	###TITLE###
	<!--###CONTENT###-->
	<!--###CONTENT###-->
</div>
<!-- ###CONTENT_PROFILE### -->


Maintemplate:
TYPOSCRIPT
temp.content = COA
 
temp.content.10 = TEXT
temp.content.10 {
	text = GROSS
	if.value.numRows/">numRows {
		table = tt_content
		select {
		  pidInList = this
		}
	}
	if.isGreaterThan = 10
}
 
temp.content.15 = COA
temp.content.15 {
	stdWrap.preCObject = LOAD_REGISTER
	stdWrap.preCObject {
		Counter.cObject = TEXT
		Counter.cObject.data = register:Counter
		Counter.cObject.wrap = |+1
		Counter.prioriCalc = intval
	}
}
 
temp.content.20 < styles.content.get
 
tt_content.stdWrap.wrap = <div class="box"><div class="box_padding">|</div></div>
 
temp.rightContent < styles.content.getRight
 
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
 
    template = FILE
    template.file = fileadmin/templates/main.tpl.html
    workOnSubpart = DOCUMENT
 
    subparts.LOGINLINK < temp.loginlogout
    subparts.LOGINAREA < temp.loginarea
 
    marks.TITLE < temp.pagetitle
    marks.BACK_LINK < temp.backlink
 
    subparts.NAVIGATION < plugin.tx_extmainmenu_pi1
 
    subparts.CONTENT < temp.content
    subparts.MINI_CART < temp.minicart
    subparts.RIGHTNAVI < plugin.tx_extnavigation_pi1
}
page = PAGE
...
page.10 < temp.mainTemplate


Extension-Template:

TYPOSCRIPT
temp.profile = COA
temp.profile.10 < temp.myMenu 
temp.profile.20 < temp.content.20 
tt_content.stdWrap.wrap = | 
temp.mainTemplate.subparts.CONTENT_PROFILE < temp.profile
page.10 < temp.mainTemplate

(myMenu habe ich der Übersichtlichkeit wegen weggelassen.)

Könnte ich durch diese Struktur das Problem hervorrufen?

Gruß,
Manu

[Dieser Beitrag wurde 2mal bearbeitet, zuletzt am 17.08.2009 um 11:17.]

ProfilWWW
Verfasst am: 25. 08. 2009 [10:55]
arkel
Themenersteller
Dabei seit: 23.07.2004
Beiträge: 69
DHabs herausgefunden.
Anscheinend wird mit dem Aufruf

TYPOSCRIPT
temp.profile.20 < temp.content.20


die Extension zum zweiten Mal afgerufen. Ich hatte erwartet, dass temp.content.20 eine Referenz ist, scheint aber nicht so zu sein.

ProfilWWW