Zum Inhalt springen

locallang_db.xml

Erstellt am 25. Juni 2007 · 8 Antworten · letzte Antwort am 26. Juni 2007

Tags: Frage

nicokaiser ·

Hallo Typo3-Gemeinde,

ich bin gerade dabei eine extension zu schreiben. Hierzu habe ich auch eine Datenbanktabelle mit der entsprechenden locallang_db.xml angelegt.

Meine Frage ist, ist es möglich diese Datei im FE einzubinden und zu verwenden?

Grüße

Nico Kaiser

steffenk ·

nein, es werden die entsprechenen genommen: pi1/locallang.xml

Diese kannst Du aber auch für die DB nutzen, einfach im TCA entsprechend referenzieren.

steffenk ·

nicht so einfach, da die pibase immer ein Langobjekt erstellt, Du müsstest Dir ein 2. selber erstellen.
Aber Du kannst das TCA nutzen, dort sind die labels ja auch drin.

nicokaiser ·

also im $GLOBALS['TCA'] habe ich mal geschaut, aber die inhalte der locallang_db.xml sind aber irgendwie nicht zu finden. Das einzigste wa sich gefundne habe ist das

$TCA["tx_occalendar_events"] = Array (
    "ctrl" => Array (
        'title' => 'LLL:EXT:oc_calendar/locallang_db.xml:tx_occalendar_events',        
        'label' => 'uid',    
        'tstamp' => 'tstamp',
        'crdate' => 'crdate',
        'cruser_id' => 'cruser_id',
        'languageField' => 'sys_language_uid',    
        'transOrigPointerField' => 'l18n_parent',    
        'transOrigDiffSourceField' => 'l18n_diffsource',    
        "default_sortby" => "ORDER BY crdate",    
        "delete" => "deleted",    
        "enablecolumns" => Array (        
            "disabled" => "hidden",
        ),

komme aber nicht auf die einzelnen Elemente, die in der locallang_db.xml angelegt sind

nicokaiser ·

geladen haben ich das TCA jetzt. Jetzt kann ich auch die Definition bzw. den Aufbau der Tabelle sehen.
Nur wie komme ich jetzt über LLL:EXT:oc_calendar/locallang_db.xml:tx_occalendar_events.eventcycle.I.0 etc. in den einzelnen Attributen an die Sprache ran.

steffenk ·

ja, Du hast Recht, da stehen nur die Bezüge drin.

So kannst Du die Sprache leicht laden:

$dbLang=t3lib_div::readLLfile(t3lib_extMgm::extPath('occalenda').'locallang_db.xml',$GLOBALS['TSFE']->config['config']['language']);
nicokaiser ·

hey Danke jetzt klappt alles,

habe mir gleich noch zwei Funktionen geschrieben, damit kann man relativ einfach auf die einzelnen Elemente zugreifen.

function usr_loadDBL()
{	$GLOBALS['dbLang']=t3lib_div::readLLfile(t3lib_extMgm::extPath($this->extKey).'locallang_db.xml',$GLOBALS['TSFE']->config['config']['language']);
}

function usr_getDBL($key)
{
return ($GLOBALS['dbLang'][$GLOBALS['TSFE']->config['config']['language']][$key]);
}