[TYPO3-german] Reihenfolge der verwendeten Extensions beeinflussen

FIorian Zimmermann fzimmer at mailinator.com
Tue Aug 21 17:49:10 CEST 2012


Hallo Thomas,

danke für den follow up. Aber da sieht es ja auch nicht besser aus als hier.
Am 21.08.2012 13:33, schrieb Thomas Deuling:
> Hi Florian,
> ich bin Thomas - habe beim posten nicht weiter über meine Identität nach
> gedacht.
Ich finde es einfach angenehmer mit RN.
>
> Also, hier schon mal der Link zu meinem anderen Posting:
> http://www.typo3forum.net/forum/extbase/56963-reihenfolge-verwendeten-extensions-beeinflussen.html
> Leider gibt es dort noch nichts neues.
Habe ich nun auch gesehen schade das von dort auch nichts kam.
>
> Ich versuche Deine antworten auch mal zwischen den Zeile zu schreiben:
Das hat ja wunderbar geklappt. Ich kürze jetzt einfach mal ein wenig
>
> Am 21. August 2012 13:10 schrieb FIorian Zimmermann <fzimmer at mailinator.com>
> :
>>   Ich versuche mal gerade die Umgebung zu beschreiben.
>>> Also, ich habe mehrere Extbase-Extensions:
>>> 1. Eine Basis-Extension die immer wiederkehrende Funktionalitäten
>>> bereitstellt. Diese Extension ist einfach da, und stellt Klassen
>>> (ViewHelper, Services, etc.) bereit.
>>>
>>   2. Eine Client-Extension die spezielle Plugins für den Kundenauftritt
>>> beinhaltet (bspw. eine rudimentäre Warenkorbfunktion und eine spezielle
>>> Umfrage). Diese werden einfach auf verschiedenen Seiten als
>>> ContentElemente/Plugins eingebunden.
>>>
>>   3. Eine Flash-Message Extension, die lediglich dafür da ist Meldungen
>>> aus dem FlashMessanger auszugeben. Diese wird über TypoScript
>>> eingebunden, damit diese auf allen Seiten verfügbar ist und ich sie
>>> nicht überall per Hand einsetzen muss:
>>>
> Die Extension enhält lediglich einen leeren Controller/Action und dann das
> folgende Template:
> <div class="tx-coding-ms-base-flashMessages flashMessages">
>      <f:flashMessages></f:flashMessages>
> </div>
> <div class="tx-coding-ms-base-formErrors formErrors">
>      <f:render partial="FormErrors"></f:render>
> </div>
>
> Hier das Partial:
> {namespace flmsg = Tx_CodingMsFlmsg_ViewHelpers}
> <f:form.errors>
>      <div class="errors">
>          <f:if condition="{error.propertyName}">
>              <f:for each="{error.errors}" as="errorDetail">
>                  <span>
>                      <flmsg:ErrorMessageTranslator
> errorNo="{errorDetail.code}"
> errorMessage="{errorDetail.message}"></flmsg:ErrorMessageTranslator>
>                  </span>
>                  <br />
>              </f:for>
>          </f:if>
>      </div>
> </f:form.errors>
>
>
> Dann wird das ganze ja mit dem folgenden TS geladen:
>
>>   Code:
>>>
>>> lib.flashMessage = USER
>>> lib.flashMessage {
>>>       userFunc = tx_extbase_core_bootstrap->run
>>>       pluginName = Flashmessage
>>>       pluginKey = tx_codingmsflmsg
>>>       extensionName = CodingMsFlmsg
>>>       controller = FlashMessage
>>>       action     = display
>>>       settings    =< plugin.tx_codingmsflmsg.**settings
>>>       persistence =< plugin.tx_codingmsflmsg.**persistence
>>>       view        =< plugin.tx_codingmsflmsg.view
>>> }
Hier wäre anstatt lib.flashMessage = USER
einfach
lib.flashMessage = USER_INT
zu schreiben und schon ist das Caching von der Typoscript Seite aus 
deaktiviert. Was Du noch in der Extension abschalten muss weiß ich 
gerade nicht. Dafür habe ich noch zuwenig mit fluid + extbase gemacht.
In den "alten" pi1 Konstrukten war es noch
die variablen
$pi_checkCHash = false
und
$this->pi_USER_INT_obj=1;
zu setzen.
Ich kann mir momentan nicht vorstellen das es daran liegt, da es ja in 
den Extension die vorher geschrieben worden sind ja alles klappt.
>>>
>>>
> Und dann in meinem Layout platziert/ausgegeben:
> <div id="flashMessage">
>      <f:cObject typoscriptObjectPath="lib.flashMessage" />
> </div>
>
>
>
>>
>>> Das Problem ist nun, das anscheinend nicht immer die Reihenfolge der
>>> Extensions stimmt. Bei dem Warenkorb-Plugin funktioniert alles richtig:
>>> 0-> Seitenaufruf -> Warenkorb-Logik -> Warenkorb-Messages ->
>>> Flash-Message Ausgabe -> Seite wird angezeigt
>>>
>>> Bei der Umfrage ist nun das Problem das die Flash-Messages immer einen
>>> Seitenaufruf später angezeigt werden:
>>> 0-> Seitenaufruf -> Flash-Message Ausgabe -> Warenkorb-Logik ->
>>> Warenkorb-Messages -> Seite wird angezeigt
>>>
>>> Meine Frage nun: Wie kann ich die Reihenfolge der Ausführung der
>>> Extensions beeinflussen!?
>>>
>>> In der localconf.php unter $TYPO3_CONF_VARS['EXT']['**extList'] wird ja
>>> nur die include-Reihenfolge angegeben (wenn ich das richtig sehe), die
>>> auch so stimmen sollte.
>>>
>> Sollte die Reihenfolge stimmen oder stimmt Sie wirklich wie Du sie haben
>> möchtest?
>>
>
> Die Client-Extension enthält ja mehrere Plugins, und da dieses
> Fehlverhalten nur bei den zuletzt erstellten auftritt, muss diese Reihen
> folge in der extList ja stimmen.
Daran könnte es aber liegen. Hast Du die extension keys in der List 
einfach mal umgeordnet oder wenn du es dich nicht traust die Keys von 
hand zu ändern.
Dann über den Extension Manager die flash  Extension deinstallieren und 
wieder installieren.
>
>
>> Hast  du probiert das Element als USER_INT laufen zulassen?
>
>
> Nein, habe ich noch nicht. Wie mache ich denn soetwas? Hast Du vielleicht
> ein Snippet?
Siehe jetzt oben
>
>
>>
>>
>>> Die Extension die ich via TypoScript einbinde muss immer als letztes
>>> ausgeführt werden.
>>>
>> Da könnte das Problem drin liegen. Da TypoScript  Code, der im TYPO3 cms
>> Template steht, immer vor den Extension geladen und ausgeführt wird.
>
>
> Wie gesagt, bei mehr als der hälfte der Client-Extension Plugins
> funktioniert es ja, nur bei den zuletzt erstellten nicht. Als Hinweis noch,
> es könnte sein das all die Plugins funktionieren die ich schon integriert
> hatte zu dem Zeitpunkt wo ich die FlashMessages das erste mal über TS
> eingebunden habe. Danach habe ich weiter entwickelt und die neueren haben
> anscheinend diesen Fehler.
Lädst Du den den TS Code der anderen Extension vor oder nach dem TS Code 
der FlashMessage Extension? Daran könntest Du auch nochmals drehen.
>
>
>>
>>
>>> Freue mich über jeden Tipp! :)
> Vielen Dank für Deine Hilfe,
Hoffe wir kommen weiter

Bis dann
Florian



More information about the TYPO3-german mailing list