Hallo zusammen,
nach mehrstündiger Recherche bin ich nun engültig verwirrt:
ich möchte im Frontend mehrere Selectboxen realisieren, die Einträge lade ich zum Teil aus einer Datenbanktabelle, zum Teil möchte ich Sie aber auch aus einer locallang-Datei auslesen.
Für einzelne Einträge habe ich das nun geschafft:
$content.= $this->pi_getLL('material2');
oder
$content.= $GLOBALS['TSFE']->sL('LLL:EXT:user_selectmachine/locallang_db.php:user_selectmachine_material.material2');
Jetzt möchte ich aber die Begriffe über eine foreach-Schleife bzw. eine While-Schleife auslesen und weiß nicht, wie ich auf das jeweilige Sprachen-Array zugreifen kann!
Ich denke, wenn ich mit der Locallang-Datei arbeite dürfte das nicht so schwierig sein, allerdings hab ich keine Ahnung, wie ich dieses Problem bei der Datenbankabfrage löse. Die <option>-Tags werden in meinem Skript so gebildet:
$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*", "pages","pid=22");
if (mysql_error()) debug(array(mysql_error(), $query));
while ($row = mysql_fetch_assoc($res)) {
$content.= '<option value="index.php?id='.$row['uid']. $GLOBALS['TSFE']-">linkVars.'">'.$row['title'].'</option><br />';
}
Ich hoffe, ich konnte das Problem anschaulich schildern und hoffe auf Eure Hilfe! #giggle#
Gruß Stoffel
für die Datenbank gilt: die Extension muss mehrsprachig angelegt sein, damit auch die Sprachen in den overlay-Feldern gespeichert wird.
Wie man das ausliest, kannst Du z.B. der tt_news entnehmen:
// get the translated record if the content language is not the default language
if ($GLOBALS['TSFE']->sys_language_content) {
$OLmode = ($this->sys_language_mode == 'strict'?'hideNonTranslated':'');
$row = $GLOBALS['TSFE']->sys_page->getRecordOverlay('tt_news', $row, $GLOBALS['TSFE']->sys_language_content, $OLmode);
}
Danke schonmal für den Tipp, auch wenn es bis jetzt noch nicht klappt o.O
Ich habe mal versucht, den von Dir genannten Absatz einzubinden:
<select name="menu1" size="7" onchange="MM_jumpMenu(\'parent\',this,0)">
<option selected=""></option>';
$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*", "pages","pid=22");
if (mysql_error()) debug(array(mysql_error(), $query));
while ($row = mysql_fetch_assoc($res)) {
if ($GLOBALS['TSFE']->sys_language_content) {
$OLmode = ($this->sys_language_mode == 'strict'?'hideNonTranslated':'');
$row = $GLOBALS['TSFE']->sys_page->getRecordOverlay('pages', $row, $GLOBALS['TSFE']->sys_language_content, $OLmode);
}
$content.= '<option value="index.php?id='.$row['uid'].$GLOBALS['TSFE']-">linkVars.'">'.$row['title'].'</option><br />';
}
$content.= '</select>
Allerdings wird noch nichts übersetzt! Wo stehen eigentlich die übersetzten Seitentitel usw.?? In der PAGES-Tabelle habe ich nichts gefunden.
Sorry für die vielleicht etwas dummen Fragen, aber ich bin leider noch nicht am Ende meiner Typo3-Profikarriere angelangt;-)