Extbase Plugin Settings in Backend Modul auslesen

Wenn man mit Extbase ein Backend Modul erstellt, sind im Controller die Settings auf die man in einem Frontend Controller mit $this->settings direkt zugreifen kann, nicht verfügbar.

Damit das auch in einem Backend Modul funktioniert, sind 2 Sachen notwendig.

1) Die Zuweisung der Settings im Typoscript Template:

2) im Controller die Settings über den Tx_Extbase_Configuration_BackendConfigurationManager holen, beispielsweise in der initializeAction:

Damit man sich die Abfrage ob man sich im Backend befindet sparen kann (TYPO3_MODE === ‚BE‘), empfehle ich für das Backend Modul einen eigenen Controller zu machen der dann auch nur dort verwendet wird.

Beteilige dich an der Unterhaltung

4 Kommentare

  1. Hallo Alexander
    Danke für diesen Hinweis! Allerdings scheint das bei mir nicht zu funktionieren. Ich habe diese Codezeilen bei mir eingefügt, aber mit $this->settings[‚…‘] bekomme ich trotzdem keine Daten geladen.
    Ich habe testweise den plugin-Namen direkt in den Aufruf geschrieben, was aber keine Verbesserung brachte.

    Gibts hier noch etwas zu beachten?

    1. Hey,

      ja – du musst zusätzlich noch die plugin settings in die module settings kopieren.
      Das hab ich ganz vergessen, danke für den Hinweis – werde es im Artikel ergänzen.

      plugin.tx_foo {
      settings {
      ...
      }
      }

      module.tx_foo.settings < plugin.tx_foo.settings

      HTH
      Alex

      1. Hallo

        Danke für die Ergänzung.
        Leider habe ich bei mir immernoch ein Problem, daß die Plugin-Settings nicht im Modul aufrufbar sind. Liegt wohl an der Benennung in ext_tables.php. Ich werde aus der (mangelhaften) extbase-Doku nicht schlau, wie das Modul heißt wenn es folgende Werte in der ext_table.php hat:
        if (TYPO3_MODE == ‚BE‘ && !(TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) {
        Tx_Extbase_Utility_Extension::registerModule(
        $_EXTKEY,
        ‚web‘,
        ‚module‘,
        ‚after:web_func‘,
        array(
        mein Frontendplugin heißt zB
        plugin.tx_psoaaccredit
        wie heißt dann nach den obigen Einstellungen das Modul?

        1. Hallo Johannes,

          wie das Modul genau heißt ist eigentlich nicht relevant, da du mit module.tx_psoaaccredit.settings die Settings global für alle Module dieser Extension setzt!

          Das gleiche gilt fürs Frontend.

          plugin.tx_psoaaccredit = komplette Extension,
          plugin.tx_psoaaccredit_plugin = spezifisch nur für dieses Plugin.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.