[TYPO3-german] Reihenfolge der verwendeten Extensions beeinflussen

Thomas Deuling tdeuling at gmail.com
Tue Aug 21 13:33:50 CEST 2012


Hi Florian,
ich bin Thomas - habe beim posten nicht weiter über meine Identität nach
gedacht.

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.

Ich versuche Deine antworten auch mal zwischen den Zeile zu schreiben:

Am 21. August 2012 13:10 schrieb FIorian Zimmermann <fzimmer at mailinator.com>
:

> Hallo Mr X,
>
> Am 20.08.2012 21:57, schrieb tdeuling:
>
>  Hi,
>> zuerst einmal, ich habe diese Frage schon in einem anderen Forum
>> gestellt, nur leider noch keine Antwort erhalten, daher versuche ich
>> hier noch einmal mein Glück.
>>
> Denn bitte hier den follow up dorthin, damit wir uns hier von den anderen
> Lösungsansätzen ein Bild machen können. Danke  dafür
>
>
>  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.
>>
> OK
>
>  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.
>>
> OK
>
>  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:
>>
> Auch ok aber du sagst ja das die Extension per Flash Massage läuft? Wie
> kann ich mir das vorstellen? Wird ein JS PopUp geöffnet? Wird ein Flash
> Film mit Daten gefüttert und ausgeführt? Wird über die Extension ein DOM
> Element gefüllt?
>
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
>> }
>>
>>
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.


> 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?


>
>
>> 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.


>
>
>> Freue mich über jeden Tipp! :)
>>
> Und ich über Realnames, danke
> Hoffe ich konnte dir einen Tipp geben.
>
> Bis dann
> Florian
>
>
>>
> ______________________________**_________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-**german<http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german>
>



Vielen Dank für Deine Hilfe,

Thomas Deuling


More information about the TYPO3-german mailing list