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 |
|
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ß! |
|
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.] |
|
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. |



