TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

TypoScript ($this->conf) parsen?


Autor Nachricht
Verfasst am: 30. 06. 2009 [10:01]
fuzz
Themenersteller
Dabei seit: 10.04.2006
Beiträge: 163
Hallo,

ich bastel mir gerade eine kleine Extension die unter anderem Werte und so weiter über TypoScript erhält. Leider bekomme ich aber nur das normale TypoScript Array und nicht das Ergebnis in die Extension geliefert in $this->conf.

Wie kann ich das parsen und auf das Ergebnis zugreifen?

Danke schonmal...
Profil
Verfasst am: 30. 06. 2009 [10:45]
yahooooo
Dabei seit: 21.03.2006
Beiträge: 232
Ich verstehe gerade noch nicht so ganz, was Du genau vorhast. Reicht Dir der Standardaufruf der main-Funktion nicht?

PHP
function main($content, $conf) {
		$this->conf = $conf;
// ...
}


Willst Du vielleicht auf alle TypoScript-Werte zugreifen?

Hilfe...Bitte rettet mich aus diesem Laden!
Profil
Verfasst am: 30. 06. 2009 [10:48]
fuzz
Themenersteller
Dabei seit: 10.04.2006
Beiträge: 163
Nein leider nicht... Beispiel ich habe folgendes TS

TYPOSCRIPT
plugin.tx_meineextension_pi1 {
    dynMarkers {
        markerOne = TEXT
        markerOne.value = bla
 
        markerTwo = COA
        markerTwo {
            10 = TEXT
            10.value = blub
 
            20 = TEXT
            20.data = page:title
        }
    }
}


Wenn ich jetzt $this->conf['dynMarkers.']['markerTwo.']['20.']['data'] ausgeben will, erhalten ich nur page:title anstatt den richtigen Seitentitel. Es geht also nicht durch den parser.
Profil
Verfasst am: 30. 06. 2009 [10:52]
Julian.Hofmann
Dabei seit: 18.05.2007
Beiträge: 1379
Hallo.
fuzz schrieb:
Leider bekomme ich aber nur das normale TypoScript Array und nicht das Ergebnis in die Extension geliefert in $this->conf.
Nicht "leider", sondern "zum Glück". Typoscript ist ja "nur" eine Art, wie Konfigurationswerte dargestellt werden. Die Verarbeitung dieser Wert muss dann erst angestoßen werden - durch TYPO3 selbst im vordefinierten Rahmen oder durch Dich bei eigenen Extensions.


fuzz schrieb:
Wie kann ich das parsen und auf das Ergebnis zugreifen?

Das kommt sehr drauf an, was Du an TS für die Extension konfigurierst bzw. was gemacht werden soll. Ein guter Einstiegspunkt dürfte die Klasse tslib_cObj sein.

Viele Grüße
Julian
Profil
Verfasst am: 30. 06. 2009 [11:01]
fuzz
Themenersteller
Dabei seit: 10.04.2006
Beiträge: 163
Danke mit cObjGetSingle(...) funktioniert es wie ich es brauche.

Allerdings habe ich in dem Zuge noch ein kleines Problem oder Denkfehler... Ich möchte per TypoScript jetzt sagen:

TYPOSCRIPT
plugin.tx_meineextension_pi1 {
          dynMarkers {
              markerTwo = COA
              markerTwo {
                  10 = TEXT
                  10.field = ext_dbField_name
              }
          }
      }


Sprich auf den aktuellen Datensatz zugreifen der Datenbank. Da kommt leider nichts bei raus. Die Frage ist jetzt wie kann ich Typo3 sagen, welche Tabelle in der DB ich meine und zu welchem Datensatz ich das Feld (Spalte) jetzt ausgegeben haben möchte?
Profil
Verfasst am: 30. 06. 2009 [11:06]
fuzz
Themenersteller
Dabei seit: 10.04.2006
Beiträge: 163
Hat sich erledigt...

Man muss bei jedem Row dem cObj sagen wo man sich befindet, dann funktioniert es auch mit TypoScript:

$this->cObj->start($curRow,'myTable');
Profil
Verfasst am: 30. 06. 2009 [11:06]
Julian.Hofmann
Dabei seit: 18.05.2007
Beiträge: 1379
An dieser Stelle weiß die TYPO3-API noch ziemlich gar nix über Deine Extension. Wo steht denn das DB-Feld? Für DB-Abfragen via TS verweise ich mal auf die TSref http://www.typo3.net/tsref/functions/select/
Profil