Zum Inhalt springen

Frontend-Plugin Auswahl des Controllers / der Action

Erstellt am 8. Februar 2015 · 1 Antwort · letzte Antwort am 8. Februar 2015

Tags: Extbase, FlexForms, TYPO3 6.x, Frage

mbuchegger ·

Danach suche ich schon seit Tagen und hab die Problematik bisher vor mich her geschoben. Nun die Frage an euch.

Wie kann ich denn meinem Frontend-Plugin eine Auswahlmöglichkeit hinzufügen welchen Controller und welche Action ausgegeben werden soll?

lg M.

mbuchegger · · Beste Antwort

Selbst gelöst:
Also, für alle die wie ich bei 0 anfangen..., das macht man (oder ich) mit flexforms.

Hierzu folgendes in der ext_tables.php deiner EXT eingeben:

$pluginSignature = 'extname_plugin';
$TCA['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue( $pluginSignature, 'FILE:EXT:extname/Configuration/FlexForms/ControllerActions.xml');

Zur Info - Einfach ans ende der Datei schreiben. Hab mich gefragt ob das irgendwo reingehört. Nein. In keine Klammer einfügen sondern einfach ne neue Zeile am Ende der Datei beginnen und einfügen.

Jetzt brauchen wir natürlich noch die ControllerActions.xml-Datei. Die kann übrigens auch anders heißen, wo anders liegen... Voll egal.

<T3DataStructure>
  <sheets>
    <sDEF>
      <ROOT>
        <TCEforms>
          <sheetTitle>Einstellungen</sheetTitle>
        </TCEforms>
        <type>array</type>
        <el>
          <switchableControllerActions>
            <TCEforms>
              <label>Konfiguration der Ausgabe</label>
              <config>
                <type>select</type>
                <items>
                   <numIndex index="0">
                     <numIndex index="0">Ansichtsbeschreibung</numIndex>
                     <numIndex index="1">Controller->action</numIndex>
                   </numIndex>
                   <numIndex index="1">
                     <numIndex index="0">Ansicht mit zwei Controller/Action-Daten</numIndex>
                     <numIndex index="1">Controller->action;Controller->action</numIndex>
                   </numIndex>
                 </items>
              </config>
            </TCEforms>
          </switchableControllerActions>
        </el>
      </ROOT>
    </sDEF>
  </sheets>
</T3DataStructure>

Hier erzeugen wir dann zwei Auswahlmöglichkeiten im Frontend-Plugin. In der einen Variante wähen wir einen Controller und eine Action, in der zweiten Variante ein Beispiel um zwei zu definieren. Geht natürlich auch mit mehreren.

lg M.