userFunc in TCA -> auf Lokalisierung zurückgreifen

  • MajPay MajPay
    Jedi-Meister
    0 x
    345 Beiträge
    2 Hilfreiche Beiträge
    18. 02. 2013, 13:08

    Hallo,

    Ich benötige bei Flexform Feld meiner Extension ein Feld vom Typ user. In diesem ermittle ich alle types des TCA einer tabelle und gebe diese in einem select aus. Die Konfiguration an der Stelle ist (für das Label) geschieht mit LLL:EXT....

    Nun bekomme ich aber in meiner Option den String LLL:EXT... angezeigt, wie kann ich aus dem String die Referenz aus der locallang auslesen? Also welcher Klasse/Methode kann ich diesen String übrgeben um die Einstellung für meine aktuelle Sprache zu bekommen?

    Das ganze sieht btw so aus:

    1. /**
    2. * Render a select box with all types of regional objects
    3. * this is used in plugins to controll what records a list will display
    4. *
    5. * @return string a select box with all types as options
    6. */
    7. public function renderTypesSelectBox ($config) {
    8. $types = $GLOBALS['TCA']['tx_regionalobject_domain_model_regionalobject']['columns']['type']['config']['items'];
    9. $options = '';
    10. foreach ($types as $type) {
    11. if ($type[1] == '--div--')
    12. continue;
    13. $options .= '<option value="'.$type[1].'">'.$type[0].'</option>';
    14. }
    15. return '<select name="types" size="1">'.$options.'</select>';
    16. }


  • 1
  • MajPay MajPay
    Jedi-Meister
    0 x
    345 Beiträge
    2 Hilfreiche Beiträge
    20. 02. 2013, 09:47

    Kleiner Nachtrag

    <itemsProcFunc>EXT:regional_object/Classes/class.tx_regionalobject_userfuncs.php:tx_regionalobject_userfuncs->renderTypesSelectBox</itemsProcFunc>

    funktioniert hier besser, allerdings nach wie vor das selbe Problem, in meiner Select Box steht "LLL:EXT:pfad/zur/Uebersetzung...." und nicht die Übersetzung. Kann ich das Rendern nachträglich anstoßen? Das muss doch jemand wissen.

  • MajPay MajPay
    Jedi-Meister
    0 x
    345 Beiträge
    2 Hilfreiche Beiträge
    21. 02. 2013, 17:05

    1. foreach ($options as &$option) {
    2. $option[0] = $GLOBALS['LANG']->sL($option[0]);
    3. }

    Es kann einfach nicht sein, dass mir das hier niemand kurz sagen konnte. Ich habe es vor kurzem sogar selbst verwendet aber irgendwann nach 200K Zeilen TYPO3 will das Hirn nicht mehr.

    Ein Aufruf an die Mitleser: Wenn es nur so wenig Zeit kostet jemandem zu helfen, dann tut das doch bitte.

  • 1