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
nein, es werden die entsprechenen genommen: pi1/locallang.xml
Diese kannst Du aber auch für die DB nutzen, einfach im TCA entsprechend referenzieren.
ist es möglich auch zwei locallang-Dateien zu referenzieren?
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.
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
Du musst das TCA erst laden:
t3lib_div::loadTCA('tx_occalendar_events');
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.
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']);
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]);
}