+ Antworten
Ergebnis 1 bis 8 von 8

Thema: den Länderpfad bei joomfish abfragen

  1. #1
    War schon öfter hier
    Registriert seit
    09.06.2006
    Beiträge
    133
    Bedankte sich
    4
    Erhielt 5 Danksagungen
    in 4 Beiträgen

    Standard den Länderpfad bei joomfish abfragen

    Hallo,

    Ich will einen eigenen Link erzeugen und versuche dafür den Länderpfad abzufragen den joomfish ja je nach ausgewählter Sprache direkt hinter den Domainnamen hängt. Bei mir zurzeit de/ für Deutsch und en/ für Englisch.

    Ich haben es schon mit so gut wie allem versucht was ich mir denken konnte.

    Zum Beispiel:
    $this->language;
    $this->_lang;
    $this->params->get('language')
    $this->params->get('lang')
    etc.
    Leider alles ohne Erfolg.

    Es würde auch reichen wenn ich auslesen könnte welche Sprache ausgewählt ist. Es muss ja nicht direkt en oder de sein.

    Das ganze will ich in einer modifizierten Datei in meinem Template-Ordner unter html einfügen.

    Grüße michak

  2. #2
    War schon öfter hier
    Registriert seit
    09.06.2006
    Beiträge
    133
    Bedankte sich
    4
    Erhielt 5 Danksagungen
    in 4 Beiträgen

    Standard

    Hallo,

    Ich habe nun erste einmal die benötigten Textstrings in die Sprachfiles gelegt. So geht es natürlich auch. Ist aber nicht die eleganteste Lösung.

    Ich suche immer noch eine Möglichkeit die „Kurzdefinition“ also das Kürzel was von Joom!Fisch je nach Sprache in die URL einbaut. Das kann man ja in der Joom!Fisch Konfiguration unter Komponenten  Joom!Fisch  Sprachen festlegen und ist bei mir auf „de“ und „en“ eingestellt. Diese Variable möchte ich nun gerne in einer eigenen Komponente abfragen.

    Grüße michak

  3. #3
    Hat hier eine Zweitwohnung Avatar von Some1new
    Registriert seit
    18.05.2005
    Ort
    Buest nich unt 'n Norden is dat schwer to verstohn.
    Beiträge
    1.424
    Bedankte sich
    259
    Erhielt 301 Danksagungen
    in 250 Beiträgen

    Standard

    So sollte das gehen:

    PHP-Code:
        // language depending on joomfish
        
    $config=&JFactory::getConfig(); 
        
    $lang=$config->getValue('language'); 
    $lang enthält dann de-DE, en-UK etc.

    Gruß
    Some1new
    SUCHEN ist keine Stadt in Deutschland, sondern eine TOLLE Funktion in diesem Forum.
    Fahren Sie mich irgendwohin, ich werde überall gebraucht, denn "Es iss ja, wie´s iss!".
    Woher kommt mein Nickname? - some1new by escobar

  4. Erhielt Danksagungen von:


  5. #4
    Joomla Development Team Avatar von akede
    Registriert seit
    17.04.2005
    Ort
    München
    Beiträge
    70
    Bedankte sich
    0
    Erhielt 29 Danksagungen
    in 20 Beiträgen

    Standard

    Die sauberste Version ist nicht über die Konfiguration zu gehen, sondern direkt die Singelton Instanz der Sprache zu nutzen. Der Hintergrund ist, dass die Konfiguration lediglich die "Standardsprache" darstellt, wenn aber Joom!Fish eingesetzt wird dann wird das aus der Konfiguration erstellte Singelton überschrieben.

    Code:
    $lang = JFactory::getLanguage();
    Damit hast Du das Standard Sprachobjekt. Dieses enthält alle Informationen der Sprache. Die Tags sind aber die ISO Tags und müssen nicht zwingend mit denen von Joom!Fish für die Spracherkennen übereinstimmen.


    Wenn Du die Sprache direkt über die Joom!Fish Klassen abfragen willst, dann kannst Du wie folgt vorgehen:
    Code:
    $registry =& JFactory::getConfig();
    if($registry->getValue("config.multilingual_support") == true) {
      // stellt sicher, dass Joom!Fish initialisiert ist
      $jfManager = &  JoomFishManager::getInstance();
      $jfLanguage = $jfManager->getLanguageByCode($lang->getTag());
    
      // Den Shortcode bekommst Du mit
      $code = $jfLanguage->getLanguageCode();
    }
    Die Frage ist, wofür Du das brauchst. Wenn Du Deine URL durch

    Code:
    echo JRoute::_('<url>');
    ausgibst, dann wird automatisch die aktuelle Sprache in die URL eingebunden.

    Alex

  6. Erhielt Danksagungen von:


  7. #5
    Hat hier eine Zweitwohnung Avatar von Some1new
    Registriert seit
    18.05.2005
    Ort
    Buest nich unt 'n Norden is dat schwer to verstohn.
    Beiträge
    1.424
    Bedankte sich
    259
    Erhielt 301 Danksagungen
    in 250 Beiträgen

    Standard

    Hallo Alex,

    prima posting, da hab ich auch wieder was dazu gelernt und das am Sonntag

    Wieder einmal ein Grund warum ich dieses Forum mag.

    Gruß
    Oliver
    SUCHEN ist keine Stadt in Deutschland, sondern eine TOLLE Funktion in diesem Forum.
    Fahren Sie mich irgendwohin, ich werde überall gebraucht, denn "Es iss ja, wie´s iss!".
    Woher kommt mein Nickname? - some1new by escobar

  8. #6
    War schon öfter hier
    Registriert seit
    09.06.2006
    Beiträge
    133
    Bedankte sich
    4
    Erhielt 5 Danksagungen
    in 4 Beiträgen

    Standard Gelöst

    Zitat Zitat von akede Beitrag anzeigen

    Die Frage ist, wofür Du das brauchst. Wenn Du Deine URL durch

    Code:
    echo JRoute::_('<url>');
    ausgibst, dann wird automatisch die aktuelle Sprache in die URL eingebunden.

    Alex
    Au ha das mit JRoute wüste ich natürlich nicht. Das hört sich natürlich sehr komfortabel an. Ich hatte sonst vor gehabt die Link zu Fuß zusammen zu basteln.

    Die Anderen Hinweise geben aber auch mal wieder einen guten Einblick darin was man alles so abfragen kann. Vor allem aber wie.

    Besten Dank.

  9. #7
    rjo
    rjo ist offline
    Neu an Board
    Registriert seit
    12.09.2009
    Beiträge
    1
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Merkwürdig, bei meiner lokalen Installation klappt das auch wunderbar mit JRoute (Basis-SEF ist aktiviert aber ohne sef_rewrite und sef_suffix):

    Code:
    JRoute::_('index.php?ltemid='.$sm->id)
    gibt mir eine URL zurück, die auch das Sprachenkürzel enthält.

    Auf dem webserver mit sef_rewrite und sef_suffix geht das dann nicht mehr und ich bekomme eine Adresse im Stil "index.php/Kategorie/etc".
    In den Menüs dagegen habe ich auch dort saubere URLs mit Sprachenkürzel.

  10. #8
    Neu an Board
    Registriert seit
    24.07.2009
    Beiträge
    18
    Bedankte sich
    4
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich habe den Code wie oben angegeben verwendet...

    Code:
    $registry =& JFactory::getConfig();
    if($registry->getValue("config.multilingual_support") == true) {
     // stellt sicher, dass Joom!Fish initialisiert ist
     $jfManager = & JoomFishManager::getInstance();
     $jfLanguage = $jfManager->getLanguageByCode($lang->getTag());
     // Den Shortcode bekommst Du mit
     $code = $jfLanguage->getLanguageCode();
     }


    ... bekomme aber dann die Fehlermeldung

    Fatal error: Call to a member function getTag() on a non-object in /var/www/usw.php on line 108

    wobei ich den Pfad zu meiner php-Datei hier abgekürzt habe.

    Der Code steht innerhalb einer function, die sich wiederum innerhalb einer class befindet. letzteres vermute ich als Ursache. Aber genau in dieser class (von gk_weather) benötige ich den Ländercode.

    Ich versuche weiter lesend und lernend weiter zu kommen, bin aber für Hinweise sehr dankbar.

    Gruß
    Jürgen


    PS: Problem erledigt, habe die erste Zeile vergessen, die weiter oben im Beitrag angegeben war.

+ Antworten

Lesezeichen

Berechtigungen

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