Labels in Javascript benutzen
Frontend-Plugins lassen sich wunderbar durch die pi_getLL-Funktion lokalisieren. Um diese Labels jedoch in Javascript zur Verfügung zu haben (z.B. für AJAX-Applikationen, etc.), bedarf es einer Erweiterung des Plugins. Hier nun eine kurze Anleitung, wie man das in wenigen Zeilen realisieren kann:
1. Funktion im Plugin schreiben, welche die korrekten Labels erstellt:
function createJSLabels() {
if($GLOBALS['TSFE']->config["config"]["sys_language_uid"] == 0) {
$labels = $this->LOCAL_LANG["default"];
} else {
$labels = $this->LOCAL_LANG[$GLOBALS['TSFE']->config["config"]["language"]];
}
foreach($labels as $k => $v) {
$output.="labels['".$k."'] = '".addslashes($v)."';";
}
return $output;
}
2. Labels vor jedem eigenen Javascript-File einfügen
$GLOBALS['TSFE']->additionalHeaderData[$this->prefixId] = '
<script type="text/javascript">
var labels = Array();
'.$this->createJSLabels().'</script>
<script type="text/javascript"
src="'.t3lib_extMgm::extRelPath('EIGENE_EXTENSION).'res/js/WEITERE_JAVASCRIPT_DATEI.js" />';
Nun stehen die Labels durch das "labels"-Array in den weiteren Javascript Dateien zur Verfügung.
Zurück zum Blog
Anmerkung hinzufügen