[Frage] Extbase Erweiterung actionen werden doppelt ausgeführt TYPO3-Version: 4.7.9

  • sardinas sardinas
    T3PO
    0 x
    20 Beiträge
    0 Hilfreiche Beiträge
    24. 07. 2013, 16:09

    Hallo Zusammen,

    ich habe eine Erweiterung selbt programmiert.
    Diese Erweiterung soll mehr mal auf die gleiche Seite eingebunden werde.
    Über das FlexForm.xml kann man verschiedene Optionen bzw. Actionen des Controllers auswählen.
    Das klappt gut aber mein Problem ist dass die Views doppelt erscheinen.
    bzw die Actionen doppelt aufgeführt werden.
    der switchableControllerActions sieht so aus:
    <switchableControllerActions>
    <TCEforms>
    <label>LLL:EXT:myExt/Resources/Private/Language/locallang_mod.xml:plugin.select.action.title</label>
    <config>
    <type>select</type>
    <items>
    <numIndex index="0">
    <numIndex index="0">Kalenderansicht</numIndex>
    <numIndex index="1">Events->list;Events->tagesansicht;Events->show;</numIndex>
    </numIndex>
    <numIndex index="1">
    <numIndex index="0">Last Events</numIndex>
    <numIndex index="1">Events->lastevents;Events->show;Events->tagesansicht;</numIndex>
    </numIndex>
    </items>
    </config>
    </TCEforms>
    </switchableControllerActions>
    Hat jemand eine Idee warum die Aktionen zweimal bzw. so oft ausgeführt werden? Wenn ich das Plugin 3 mal einbinde, erscheinen die Aktionen auch 3 mal.
    vielen dank in voraus

  • Hilfreichster Beitrag

  • Ei-Dotter Ei-Dotter
    Jedi-Ritter
    1 x
    137 Beiträge
    1 Hilfreiche Beiträge
    25. 08. 2017, 23:55 - Hilfreichster Beitrag

    Das Problem mit dem doppleten Aufruf einer Action kann man wie folgt lösen:

    Die Action muss in der \typo3conf\ext\EXTNAME\ext_localconf.php

    und dort in

    function($extKey)
    {

    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'VENDOR.EXTNAME',
    'Aufgabe',
    [
    'PINAME' => 'show, list'
    ],
    // non-cacheable actions
    [
    'PINAME' => 'show, list'
    ]
    );

    definiert sein, wenn die Action dort fehlt, dann gibt es den Doppel 2x Aufruf.


  • 1
  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    24. 07. 2013, 19:45

    Naja ist doch logisch 3 mal Plugin auf der Seite, dreimal Ausführung...
    Du kannst nicht das selbe Plugin mit verschiedenen Actions auf der selben Seite laufen lassen. Das klappt so nicht. Dann musst Du unterschiedliche Plugins konfigurieren.

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • sardinas sardinas
    T3PO
    0 x
    20 Beiträge
    0 Hilfreiche Beiträge
    24. 07. 2013, 21:34

    hm verstehe ich falsch...?
    Dann musst Du unterschiedliche Plugins konfigurieren. wie ist es gemeint?
    ich habe ein Plugin, der über die switchableControllerActions unterschiedlich konfigurierbar ist.
    geht es nicht? müssen zwei unterschiedliche Plugins sein?

  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    25. 07. 2013, 08:59

    Ich habe schon eine Weile keine switchableControllerActions mehr benutzt, aber es war mal so, dass trotzdem der per URL übergebene "action" Parameter für alle Instanzen dieses Plugins gilt egal welche Action per switchableControllerActions konfiguriert ist. Ich vermute das Problem hast Du hier auch.

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • Ei-Dotter Ei-Dotter
    Jedi-Ritter
    1 x
    137 Beiträge
    1 Hilfreiche Beiträge
    25. 08. 2017, 23:55

    Das Problem mit dem doppleten Aufruf einer Action kann man wie folgt lösen:

    Die Action muss in der \typo3conf\ext\EXTNAME\ext_localconf.php

    und dort in

    function($extKey)
    {

    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'VENDOR.EXTNAME',
    'Aufgabe',
    [
    'PINAME' => 'show, list'
    ],
    // non-cacheable actions
    [
    'PINAME' => 'show, list'
    ]
    );

    definiert sein, wenn die Action dort fehlt, dann gibt es den Doppel 2x Aufruf.

  • 1