Backend oder Frontend

  • karf karf
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    19. 03. 2013, 16:58

    Hi,

    gibt es eigentlich irgendwie eine andere Möglichkeit außer über Typoscript Settings zu sehen ob die Action über das Back- oder Frontend aufgerufen wurde?


  • 1
  • harald1972 harald197...
    Sternenflotten-Admiral
    0 x
    198 Beiträge
    13 Hilfreiche Beiträge
    20. 03. 2013, 14:26

    Hi,

    ich bin mir nicht ganz sicher, was du eigentlich wissen willst, aber mir ist da etwas aufgefallen...
    Nach ein paar FE-Anwendungen versuch ich mich grade an einem BE-Modul.
    Das hab ich, wie die anderen auch, erstmal mit dem ExtensionBuilder gekickstartet.
    Nachdem ich dann wie gewohnt am Editieren und Coden war, hab ich festgestellt, daß ich parallel zu
    [b]Resources/Private/Layouts
    Resources/Private/Partials
    Resources/Private/Templates
    [/b]
    zusätzlich den Ordner
    [b]Resources/Private/Backend [/b]habe, in dem nochmal die (gleichen) Unterordner sind:
    [b]Resources/Private/Backend/Layout
    Resources/Private/Backend/Partial
    Resources/Private/Backend/Templates[/b].

    Ich steuere diese (bisher noch) gar nicht an.
    Aber damit gibt es eventuell eine Möglichkeit, die du suchst.

    Gruß Harald

  • karf karf
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    20. 03. 2013, 14:55

    Danke für die Antwort harald, aber das ist nicht was ich suche.

    Das ist einfach nur ein zweiter Template Baum wenn man Backend und Frontend Templates unterscheiden will. (eines gesetzt mit "module.tx_myext.view.templateRootPath" und eines per "plugin.tx_myext.view.templateRootPath")

    Ich bräuchte die unterscheidung aber schon auf PHP Ebene im Controller. Da ich im Backend Fall noch Daten aus dem aktuell eingeloggten Backend User brauche. also Ideal wäre etwas wie $this->isBackend() oder so im Controller. Aber das gibt es leider wohl nicht.

    Meine Aktuelle Lösung ist, dass ich zwei Typoscript Zeilen habe

    1. plugin.tx_myext.settings.context = FRONTEND
    2. module.tx_myext.settings.context = BACKEND

    auf die ich dann per $this->settings['context'] zugreifen kann. Aber wirklich schön finde ich das nicht.

  • kainobi kainobi
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    21. 03. 2013, 07:55

    Kannst Du vlt. den eingeloggten Backend-User abfragen? Das müsste mit

    1. $GLOBALS['BE_USER']->user

    gehen.

  • karf karf
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    21. 03. 2013, 11:29

    [quote="kainobi"]
    Kannst Du vlt. den eingeloggten Backend-User abfragen? Das müsste mit

    1. $GLOBALS['BE_USER']->user

    gehen.
    [/quote]

    Nein, das habe ich auch schon probiert. Leider reicht mir das in meinem Anwendungsfall nicht, da der BE User auch im Frontend verfügbar ist.

  • karf karf
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    27. 03. 2013, 13:39

    Die Lösung ist an sich relativ einfach, und ich bin gerade durch Zufall darüber gestolpert ...

    es gibt eine Konstante namens "TYPO3_MODE" die entweder den Wert "BE" oder "FE" hat.

  • kainobi kainobi
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    29. 03. 2013, 11:39

    Achja, jetzt wo Du´s sagst... ;-)
    Danke für die Auflösung!

  • 1