Zum Inhalt springen

rlmp_language_detection + realurl

Erstellt am 24. August 2006 · 6 Antworten · letzte Antwort am 10. Juli 2011

Tags: Frage

Gernott ·

Hallo!

Ich verwende realurl und language detection auf meiner seite. Realurl funktioniert soweit:
/de/ -> zeigt die deutsche Seite
/en/ -> zeigt die englische Seite
/ -> zeigt die englische Seite

Jetzt hätte ich gerne, daß man die Seite standardmäßig in der Browsersprache angezeigt bekommt. Das kann angeblich rlmp_language_detection. Es zeigt aber keine Wirkung. Ich habe die Ext. installiert und im TS Setup folgendes angegeben:

config {
 simulateStaticDocuments = 0
 baseURL = http://xxx.info
 tx_realurl_enable = 1
 linkVars = L
 sys_language_uid = 1
 language = en
 locale_all = en_GB
}

[globalVar = GP:L = 2]
 config.sys_language_uid = 2
 config.language = de
 config.locale_all = de_DE
[global]
[globalVar = GP:L = 1]
 config.sys_language_uid = 1
 config.language = en
 config.locale_all = en_GB
[global]

plugin.tx_rlmplanguagedetection_pi1 {
   defaultLang = de
}

Es kommt aber immer die englische Startseite.
Weiß wer was ich falsch mache? Ich hab auch schon im Forum gesucht, und viel probiert, aber noch keine Lösung gefunden.

Ich teste es mit Firefox: Menü: Extras-Einstellungen-Erweitert-Sprachen bearbeiten.

Gernott ·

Ich habe das Problem gelöst!

Der Grund ist, daß die rlmplanguagedetection nie eingebunden wurde. Denn dies passiert "automatisch". Funktioniert aber nicht, wenn die page nicht "page" heißt.

So stehts im Object Browser:
page.1000 =< plugin.tx_rlmplanguagedetection_pi1

In meinem Beispiel heißt die page aber "seite". Ich habe somit im Setup Feld folgendes eingetragen:
seite.1000 =< plugin.tx_rlmplanguagedetection_pi1

und es klappt :-)

dorfdesigner ·

bei mir gibt er ene fehlermeldung

NO entry in the $TCA-array for the table "static_languages". This means that the function enableFields() is called with an invalid table name as argument.

config {
 simulateStaticDocuments = 0
 baseURL = http://www.info.de/
 tx_realurl_enable = 1
 #prefixLocalAnchors = all
 linkVars = L
 sys_language_uid = 1
 language = de
 locale_all = de_DE
}

page.10{
  marks.LANGUAGE = COA
  marks.LANGUAGE {
    10 = IMAGE
    10.file = fileadmin/images/de.gif
    10.imageLinkWrap = 1
    10.imageLinkWrap {
      enable = 1
      typolink {
        parameter.data = TSFE:id
        additionalParams = &L=0
        addQueryString = 1
        addQueryString.exclude = L,id,cHash,no_cache
        addQueryString.method = GET
        useCacheHash = 1  
      }
    }
    
    20 = IMAGE
   20.file = fileadmin/images/gb.gif
    20.imageLinkWrap = 1
    20.imageLinkWrap {
      enable = 1
      typolink {
        parameter.data = TSFE:id
        additionalParams = &L=1
        addQueryString = 1
        addQueryString.exclude = L,id,cHash,no_cache
        addQueryString.method = GET
        useCacheHash = 1
      }
    }
30 = IMAGE
   30.file = fileadmin/images/es.gif
    30.imageLinkWrap = 1
    30.imageLinkWrap {
      enable = 1
      typolink {
        parameter.data = TSFE:id
        additionalParams = &L=2
        addQueryString = 1
        addQueryString.exclude = L,id,cHash,no_cache
        addQueryString.method = GET
        useCacheHash = 1
      }
    }
  }
}

config.sys_language_uid = 0
config.sys_language_mode = strict
config.locale_all       = de_DE
config.language         = de

plugin.tx_rlmplanguagedetection_pi1 {
   defaultLang = en

   }

woran kann das liegen??

Gernott ·

Hast du die Ext. static_info_tables installiert?
Wenn ja, sind die Tabellen in der Datenbank richtig befüllt (zB alle Länder in der Tabelle static_countries)?

dorfdesigner ·

die Ext. static_info_tables habe ich noch installiert. Somit war zumindest die Fehlermeldung weg.
Dann hab novh ein wenig zugeschrieben laut recherche.

plugin.tx_rlmplanguagedetection_pi1 { 
defaultLang = de 
useOneTreeMethod = 1 
}
page.1000 =< plugin.tx_rlmplanguagedetection_pi1
plugin.tx_rlmplanguagedetection_pi1.dontBreakIfLanguageAlreadySelected = 1

und config so

config {
 simulateStaticDocuments = 0
 baseURL = http://www.info.de/
 tx_realurl_enable = 1
 prefixLocalAnchors = all
 }

aber scheint immernoch nicht so richtig zu funktionieren.

static_countries??

Gernott ·

static_countries ist eine Tabelle - die wird aber eh automatisch beim installieren von static_countries befüllt. Sollte also passen.
Sieh Dir die Doku von der Ext. rlmp_language_detection an. Es ist sehr gefinkelt das zum laufen zu bekommen.
Ich hab sogar ein paar Zeilen umgeschrieben damit es klappt. Ich sende dir die Ext. gerne zu - schick mir Deine E-Mail-Adresse per PM...

jeppo ·

Hallo,

ich habe die gleichen Probleme die ext. tx_rlmplanguagedetection_pi1 funktioniert es nicht, trotz installierte static_info_tables auf typo3 4.5.3 mit aktivierten realUrl.

Angelegt habe ich 3 sprachen, DE, EN und IT

Dei default sprache ist die DE

config.linkVars = L
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE.UTF8
config.htmlTag_langKey = de

[globalVar = GP:L=1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_EN.UTF8
config.htmlTag_langKey = en
[global]

[globalVar = GP:L=2]
config.sys_language_uid = 2
config.language = it
config.locale_all = it_IT.UTF8
config.htmlTag_langKey = it
[global]

# Automatische Spracherkennung
plugin.tx_rlmplanguagedetection_pi1 {
	defaultLang = de
	useOneTreeMethod = 1
}

Das ist alles, danach habe ich z.B. in FireFox die sprache auf italienisch umgestellt und mit google erfolgreich getestet.

In typo3 scheint aber die ext. tx_rlmplanguagedetection_pi1 leider keinerlei auswirkungen zu haben. Ich habe auch ausprobiert die realUrl zu deaktivieren aber auch ohne erfolg das heisst an der realurl_autoconf.php liegt es nicht.

Eine alternative wäre es gewesen mit condition zu arbeiten:

[lanuage = de-DE]
config.sys_language_uid = 2
config.language = it
config.locale_all = it_IT.UTF8
config.htmlTag_langKey = it
[end]

aber auch das funktioniert es nicht.

Weiss einer was ich falsch mache?

Vielen Dank.