it-swarm.com.de

Wie verwalte ich Sprachvariablen in JavaScript?

In meiner benutzerdefinierten Komponente führe ich für jede Ansicht eine Menge JavaScript-Überprüfungen durch. Die Validierung löst verschiedene Fehlermeldungen aus und diese Meldungen werden in der Sprachdatei en-GB.com_mycomp.ini konfiguriert. Ich schreibe den JavaScript-Einschluss wie folgt in eine PHP Datei.

in der view.html.php

require_once JPATH_COMPONENT.'/views/send/tmpl/validation.php';

validation.php

function doValidation(){
  // do some checking
  alert("<?php echo JText::_( 'VALIDATION_ERROR'); ?>");
}

Auf diese Weise wird der JavaScript-Code zusammen mit der Datei PHP gerendert.

Was ich dachte, ist, die Standardfunktion $document->addScript(...) zu verwenden, damit die .js-Dateien als Teil des Headers geladen werden. Da ich die Inline-Anweisungen PHP habe, kann ich das nicht so machen.

Hinweis: Ich möchte die Fehlermeldungen in der .js-Datei nicht hart codieren, da die Komponente sprachunabhängig ist.

Ich benötige einige Anweisungen zur optimalen Einbindung von JavaScript-Code mit sprachspezifischen Werten.

7
Malaiselvan

Joomla hat dafür eine bestimmte Methode. Erster view.html.php füge alle Strings hinzu, was damit übersetzt werden muss:

JText::script('VALIDATION_ERROR');

Dadurch wird Ihre Zeichenfolge zum Javascript-Objekt hinzugefügt, was Sie später verwenden können.

Und in Javascript verwenden Sie:

Joomla.JText._('VALIDATION_ERROR')

Welches wird Ihnen passende Übersetzung in der aktuellen Sprache geben. Auf diese Weise können Sie JS und PHP in separaten Dateien speichern.

9
Rene Korss