+ Antworten
Ergebnis 1 bis 3 von 3

Thema: JText aus language *.ini wird nicht erkannt

  1. #1
    hdi
    hdi ist offline
    Neu an Board
    Registriert seit
    30.09.2010
    Beiträge
    4
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard JText aus language *.ini wird nicht erkannt

    Hi,

    ich habe eine Problem dabei, einen Text aus einer der vordefinierten language.ini's auszugeben.

    Erstmal etwas Hintergrundinfo:
    In der /components/com_user/controller.php findet man u.a. folgendes:
    PHP-Code:
    $message sprintf JText::_'SEND_MSG_ACTIVATE' ), ....);
    $message html_entity_decode($messageENT_QUOTES);
    JUtility::sendMail(..., $message); 
    Hier wird also dieser SEND_MSG_ACTIVATE String als Mail verschickt. Dies ist eine definierte Konstante in der /language/DE/com_user.ini.

    Wir merken uns an dieser Stelle: Das funktioniert

    So, jetzt versuche ich folgendes:
    Ich befinde mich in der administrator/components/com_user/controller.php, und mache genau das gleiche:

    PHP-Code:
    $message sprintf JText::_'SEND_MSG_ACTIVATE' ), ....);
    $message html_entity_decode($messageENT_QUOTES);
    JUtility::sendMail(..., $message); 
    Ergebnis: In meiner Mail steht der Text "SEND_MSG_ACTIVATE", und nicht der eigentliche Text der in der language.ini dafür steht.
    Dann dachte ich mir, ok ich befinde mich ja auch in einem anderen Ordner, und der verwendet halt die eigenen lanugage.inis.

    Es gibt ja auch die Datei administrator/language/DE/com_user.ini.

    Jetzt hab ich dort dieses "SEND_MSG_ACTIVATE" auch definiert, und eigentlich erwartet, das es nun funktioniert.

    Tut's aber nicht :(

    Was mach ich hier falsch? Muss ich irgendwie diese ini's explizit laden? Das machen die aber im oberen Bsp auch nirgendwo, zumindest hab ich kein Code gefunden der danach klingt..

    Ich hoffe ihr könnt mir helfen!

    Danke
    Geändert von hdi (02.10.2010 um 12:59 Uhr)

  2. #2
    hdi
    hdi ist offline
    Neu an Board
    Registriert seit
    30.09.2010
    Beiträge
    4
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hat sich erledigt, Problem gelöst

    Für alle die das Problem auch haben:

    Es scheint als würde er die language inis irgendwie nicht immer neu laden oder so, ich hab paar Tests gemacht wo ich die Strings verändert habe, aber noch immer die alten Werte bekommen hab.
    Irgendwie kann man es auch sicher mit den bestehenden language ini's lösen, aber ich hab das jetzt ganz anders gemacht:

    Direkt in dem Ordner, in dem man auf den String zugreifen will, in meinem Fall ja administrator/components/com_user/controller.php, muss ein neuer Ornder erstellt werden namens language:

    administrator/components/com_user/language
    Da dann Unterordner für alle Sprachen, zB:

    administrator/components/com_user/language/de-DE/
    administrator/components/com_user/language/en-GB/
    In diese Ordner kommt dann jeweils für die Sprache eine Datei an:

    de-DE.custom.ini
    (bzw en-GB.custom.ini)
    Dort definiert man seinen String, in meinem Bsp "SEND_MSG_PAID"

    Im Skript, bei mir wie gesagt administrator/components/com_user/controller.php, lädt man dann dieses Language Paket:

    PHP-Code:
    $language =& JFactory::getLanguage();
    $language->load('custom' dirname(__FILE__), $language->getTag(), true); 
    Und jetzt funktioniert der Zugriff auch korrekt mit dem JText Befehl:

    PHP-Code:
    $message JText::_'SEND_MSG_PAID' ); 
    lg, Thema kann geschlossen werden.
    Geändert von hdi (01.10.2010 um 12:50 Uhr)

  3. #3
    Hat hier eine Zweitwohnung Avatar von JoomDesign
    Registriert seit
    19.03.2006
    Ort
    Berlin, Deutschland
    Beiträge
    1.927
    Bedankte sich
    269
    Erhielt 594 Danksagungen
    in 511 Beiträgen

    Standard

    Zitat Zitat von hdi Beitrag anzeigen
    lg, Thema kann geschlossen werden.
    http://www.joomlaportal.de/forenrege...tel-ndern.html

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein