Aktuelle Action in Fluid abfragen

  • ad_on_is ad_on_is
    TYPO3-Anwärter
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    30. 04. 2013, 10:35

    Hallo,

    kann man in Fluid irgendwie den Aktuellen Action-Namen abfragen?
    Ich weiß, man könnte in jeder action einen $this->view->assign('action', 'name'); eintragen... aber es müsste doch eine komfortablere lösung geben, oder nicht?

    Andere Frage: Ist es möglich Variablen an die View zu übergeben, die in jeder Action-View abrufbar sind?

    Bsp:

    1. initializeAction() {
    2. $this->view->assign('meinVar', 'meinWert');
    3. // funktioniert leider nicht
    4. }


  • 1
  • ad_on_is ad_on_is
    TYPO3-Anwärter
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    30. 04. 2013, 10:58

    ok, hab's rausgefunden:

    also folgendes:

    Mein Ansatz mit dem $this->view->assign() war richtig, nur leider kann man in der initializeAction dies nicht aufrufen, ABER in der initalizeView() geht es...

    Praktisch wird das ganze, wenn man eine abstrakte Controller-Class hat, die von den anderen Controllern geerbt wird.

    bsp:
    [code language=php]Class Tx_MyExt_Controller_AbstractController extends Tx_Extbase_MVC_Controller_ActionController {
    public function initializeView() {
    $this->view->assign('action', $this->actionMethodName;
    }
    }[code language=php]

    und jeder weitere Controller sieht so aus:
    [code language=php]Class Tx_MyExt_Controller_TopicController extends Tx_MyExt_Controller_AbstractController { ... }[code language=php]

  • ad_on_is ad_on_is
    TYPO3-Anwärter
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    30. 04. 2013, 11:18

    weil's grad so schöne ist - hier noch ein nettes Snippet:
    hiermit wisst ihr genau wo ihr euch befindet!

    1. public function initializeView(){
    2. $this->view->assign('action', $this->actionMethodName);
    3. $this->view->assign('controller', str_replace('Tx_MyExt_Controller_', '', get_class($this)));
    4. }

  • 0 x
    10 Beiträge
    0 Hilfreiche Beiträge
    06. 05. 2013, 08:47

    Wofür brauchst du das eigentlich?

    Aus architektonischer Sicht klingt das alles sehr bedenklich: da wurden wirklich immense Anstrengungen unternommen, um die verschiedenen Codeschichten in Model, View und Controller zu separieren und Ihre Abhängigkeiten aufzulösen und da baust du flux was zusammen, was für mich so aussieht als ob du den view hart mit dem Controller und obendrein auch noch der Action verdrahten willst.

    Der View sollte aber eigentlich nur Dinge darstellen, nicht aber über den Request Zyklus Bescheid wissen.

  • 0 x
    64 Beiträge
    0 Hilfreiche Beiträge
    26. 06. 2013, 14:26

    [quote="shredding"]
    Aus architektonischer Sicht klingt das alles sehr bedenklich
    [/quote]

    Ich finde das ganz legitim. Wir entwickeln selbst gerade ein komplexes Formularsystem, und müssen abhängig von der View unterscheidliche Partials einbinden. Da hilft so ein Marker, redundante Templates bzw. redundanten HMTL-Code zu vermeiden.

  • 1