[TYPO3-german] Sprachmenu mit ISO-Codes

Adrian Nussbaum a.n at xpure.ch
Mon Jun 18 10:37:04 CEST 2007


Hoi Andi

Also, ich hab mich nun für CoolURI entschieden. Es scheint sich an  
sich um eine spannende (und modernere?) Lösung zu handeln...

Ich hab nun mal alle deine Codes reinkopiert und – soweit ich es  
verstanden habe – angepasst. Das Resultat ist nicht unbedingt  
begeisternd. Die URLs sind noch immer im Stil von "/index.php? 
id=2" (wobei eine fragliche Fehlermeldung angezeigt wird, auf den  
Unterseiten: "bool(false) bool(false)")... und das Sprachmenu  
erscheint folgendermassen: > UK-Flagge > en

Stellt sich die Frage: Was hab ich (noch immer) falsch gemacht?  
Fehlen noch Konfigurationen?



----- MEIN TS: -------------------------------------------

page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/_template/hn-styles_main.css

# CoolURi
config.simulateStaticDocuments = 0
config.baseURL = http://www.meine-domain.com
config.tx_cooluri_enable = 1
config.redirectOldLinksToNew = 1

# Localization:
config {
linkVars = L
sys_language_mode = content_fallback
sys_language_overlay = 1
}

[globalVar = GP:L=0]
config {
sys_language_uid = 1
language = de
#locale_all = en_EN
metaCharset = utf-8
}

[globalVar = GP:L=1]
config {
sys_language_uid = 1
language = de
}

[globalVar = GP:L=2]
config {
sys_language_uid = 2
language = fr
}

[global]

#LanguageMenu
lib.languageMenu < plugin.tx_srlanguagemenu_pi1
lib.languageMenu.languagesUidsList = 0,1,2
lib.languageMenu.defaultLayout= 0
lib.languageMenu.link.INACT.doNotLinkIt=0
#subparts.LANGMENU < lib.languageMenu

#same localized structure
config.sys_language_overlay = 1



	temp.navi1 = HMENU
	temp.navi1.entryLevel = 0
	temp.navi1 {
	  1 = TMENU
	  1.NO.allWrap = <li>|</li>
	  1.ACT = 1
		1.ACT.allWrap = <li class="menu_act">|</li>
	  1.CUR = 1
            1.CUR.allWrap = <li class="menu_cur">|</li>
       }


	temp.navi2 = HMENU
	temp.navi2.entryLevel = 1
	temp.navi2{
       	1 = TMENU
       	1.NO.allWrap = <span>|</span>
       	1.ACT = 1
       	1.ACT.allWrap = <span class="menu2_act">|</span>
       	1.CUR = 1
       	1.CUR.allWrap = <span class="menu2_cur">|</span>
	}
	
	temp. bodyRight = COA
	temp. bodyRight {
   	##stdWrap.required = 1
  	##stdWrap.wrap =  <div id="content_left">|</div>
   	##10 < styles.content.getRight
	}


page.10 = TEMPLATE
page.10 {
	template = FILE
	template.file = fileadmin/_template/hn-template-t3.html
	workOnSubpart = DOCUMENT_BODY

	subparts.CONTENT < styles.content.get
	subparts.CONTENT.wrap = <div id="content_main">|</div>
	
	subparts.MAINNAVIGATION < temp.navi1
	subparts.MAINNAVIGATION.wrap = <ul id="menu">|</ul>

	subparts.SUBNAVIGATION < temp.navi2
	subparts.SUBNAVIGATION.wrap = <div id="menu_2"><span  
id="menu_2_sepleft">|</span></div>

#subparts.LANGMENU < lib.language
subparts.LANGMENU < lib.languageMenu
}

styles.content.get = CONTENT
styles.content.get {
	table = tt_content
	select.orderBy = sorting
	select.where = colPos=0
	select.languageField = sys_language_uid
}


--- XML ---------

<?xml version="1.0" encoding="utf-8"?>
<cooluri>
   <cooluris>1</cooluris>

   <cache>
     <usecache>1</usecache>
     <params2cool>
       <checkforchangeevery>1</checkforchangeevery>
     </params2cool>
     <cool2params>
       <translateifnotfound>0</translateifnotfound>
       <oldlinksvalidfor>365</oldlinksvalidfor>
     </cool2params>
     <cacheparams>0</cacheparams>

     <pagenotfound>
       <status>HTTP/1.0 404 Not Found</status>
       <behavior type="message"><![CDATA[ <h1>Page not found!</h1>
]]></behavior>
     </pagenotfound>
   </cache>

   <pagepath>
     <title>alias,subtitle,title</title>
     <saveto>id</saveto>
     <default>0</default>
     <userfunc>tx_cooluri->getPageTitle</userfunc>
   </pagepath>

   <uriparts>
     <part>
       <parameter>tx_ttnews[tt_news]</parameter>
       <lookindb>
         <to>SELECT title FROM tt_news WHERE uid=$1</to>
         <translatetoif>
           <match>^[0-9]+$</match>
         </translatetoif>
         <urlize>1</urlize>
       </lookindb>
     </part>
     <part>
       <parameter>tx_eeblog[showUid]</parameter>
       <lookindb>
         <to>SELECT subject FROM tx_eeblog_maintable WHERE uid=$1</to>
         <translatetoif>
           <match>^[0-9]+$</match>
         </translatetoif>
         <urlize>1</urlize>
       </lookindb>
     </part>
   </uriparts>

   <predefinedparts>
     <part>
       <parameter>tx_ttnews[backPid]</parameter>
     </part>
     <part>
       <parameter>cHash</parameter>
     </part>
     <part>
       <parameter>tx_eeblog[pointer]</parameter>
     </part>
     <part>
       <parameter>tx_eeblog[backPID]</parameter>
     </part>
     <part>
       <parameter>no_cache</parameter>
     </part>
   </predefinedparts>

   <valuemaps>
     <valuemap>
       <parameter>L</parameter>
       <value key="de">0</value>
       <value key="en">1</value>
       <value key="fr">2</value>
     </valuemap>
   </valuemaps>

   <paramorder>
     <param>L</param>
   </paramorder>
<partorder>
      <part>valuemaps</part>
      <part>pagepath</part>
      <part>uriparts</part>
      <part>predefinedparts</part>
   </partorder>

</cooluri>

----




adrian


----
   xpure | adrian nussbaum | linsentalstrasse 5 | 8482 winterthur |  
switzerland
  + 41 764 283 913 | a.n at xpure.ch | http://www.xpure.ch
----

Am 14.06.2007 um 21:05 schrieb Andreas Becker:

> Hallo Adrian
>
> Wenn ich das richtig sehe, hast Du zwei Menus installiert und  
> vermischt.
> Beschraenke dich besserauf ein einziges CAB oder SR
> Kopiere dein TS separat und sichere es da erst einmal ab, ebenso deine
> constants. (ZurSicherheit)
> Danach loescht du alles was mit sr_languagemenu zu tun hat aus den
> Constants, der localconf und dem TS Setup.
> Es duerfte danach nur noch CAB uebrig sein!
>
>
> ODER due loeschst alles was mit CAB zu tun hast raus und benutzt
> SR_languagemenu
>
> Ins Setup:
> ---------------------------------------------------------------------- 
> ---------------
>
> temp.languageMenu = COA
> temp.languageMenu {
> 10 = RECORDS
> 10.tables = tt_content
> 10.source = 456  //Der Storagefolder wo du die Sprachen abgelegt  
> hast. Siehe
> Manual
> }
>
> subparts.languageMenu < temp.languageMenu
>
> //Im Template den Marker setzten. Achte auf den Namen und die Gross  
> und
> Kleinschreibung
> ---------------------------------------------------------------------- 
> --------------
> ODER mache es mit den Sprachen aus der "Weltkugel"
>
> temp.languageMenu < plugin.tx_srlanguagemenu_pi1
> temp.languageMenu.languagesUidsList = 1,3,4,7
> temp.languageMenu.defaultLayout= 1
>
> subparts.languageMenu < temp.languageMenu
>
> //Die Liste der Sprachen die Du in der "Weltkugel"definiert hast. Die
> Reihenfolge         bestimmt die Anzeige!
> ---------------------------------------------------------------------- 
> ---------
> ODER wie wir es machen mit CoolUri und sr_languageMenu
>
> 1. KEIN EINTRAG IN localconf.php noetig!!!  Bitte alle  
> RealUrlSachen aus der
> localconf loeschen wie im Tutorial beschrieben.
>     TIP ein Backup auf jeden Fall machen!!!
>
> 2. Sprachen in der Welkugel definieren
> 3. CoolUri und sr_languageMenu installieren (siehe Manual und  
> Tutorials)
> -----------
> Danach in Constants:
>
> plugin.tx_srlanguagemenu_pi1 {
>   useIsoLanguageCountryCode = 1
>   showLinkWithFlag = 1
>   separator = &#124;
>   token = &#124;
> }
>
> ---------
> In Setup:
>
> # CoolURi
> config.simulateStaticDocuments = 0
> config.baseURL = http://www.domain.com      //Deine Base eingeben !!!
> config.tx_cooluri_enable = 1
> config.redirectOldLinksToNew = 1
>
> # Localization:
> config {
> linkVars = L
> sys_language_mode = content_fallback
> sys_language_overlay = 1
> }
>
> [globalVar = GP:L=1]
> config {
> sys_language_uid = 1
> language = en
> locale_all = en_EN
> metaCharset = utf-8
> }
>
> [globalVar = GP:L=2]
> config {
> sys_language_uid = 2
> language = de
> }
>
> [globalVar = GP:L=3]
> config {
> sys_language_uid = 3
> language = th
> }
>
> [global]
>
> #LanguageMenu
> lib.languageMenu < plugin.tx_srlanguagemenu_pi1
> lib.languageMenu.languagesUidsList = 1,2,3
> lib.languageMenu.defaultLayout= 0
> lib.languageMenu.link.INACT.doNotLinkIt=0
> subparts.languageMenu < lib.languageMenu
>
> #same localized structure
> config.sys_language_overlay = 1
>
> --------------------------------------------------------
> Diese CoolConf.xml in das typo3conf directory kopieren.
>
> xml
> ----------------
> <?xml version="1.0" encoding="utf-8"?>
> <cooluri>
>   <cooluris>1</cooluris>
>
>   <cache>
>     <usecache>1</usecache>
>     <params2cool>
>       <checkforchangeevery>1</checkforchangeevery>
>     </params2cool>
>     <cool2params>
>       <translateifnotfound>0</translateifnotfound>
>       <oldlinksvalidfor>365</oldlinksvalidfor>
>     </cool2params>
>     <cacheparams>0</cacheparams>
>
>     <pagenotfound>
>       <status>HTTP/1.0 404 Not Found</status>
>       <behavior type="message"><![CDATA[ <h1>Page not found!</h1>
> ]]></behavior>
>     </pagenotfound>
>   </cache>
>
>   <pagepath>
>     <title>alias,subtitle,title</title>
>     <saveto>id</saveto>
>     <default>0</default>
>     <userfunc>tx_cooluri->getPageTitle</userfunc>
>   </pagepath>
>
>   <uriparts>
>     <part>
>       <parameter>tx_ttnews[tt_news]</parameter>
>       <lookindb>
>         <to>SELECT title FROM tt_news WHERE uid=$1</to>
>         <translatetoif>
>           <match>^[0-9]+$</match>
>         </translatetoif>
>         <urlize>1</urlize>
>       </lookindb>
>     </part>
>     <part>
>       <parameter>tx_eeblog[showUid]</parameter>
>       <lookindb>
>         <to>SELECT subject FROM tx_eeblog_maintable WHERE uid=$1</to>
>         <translatetoif>
>           <match>^[0-9]+$</match>
>         </translatetoif>
>         <urlize>1</urlize>
>       </lookindb>
>     </part>
>   </uriparts>
>
>   <predefinedparts>
>     <part>
>       <parameter>tx_ttnews[backPid]</parameter>
>     </part>
>     <part>
>       <parameter>cHash</parameter>
>     </part>
>     <part>
>       <parameter>tx_eeblog[pointer]</parameter>
>     </part>
>     <part>
>       <parameter>tx_eeblog[backPID]</parameter>
>     </part>
>     <part>
>       <parameter>no_cache</parameter>
>     </part>
>   </predefinedparts>
>
>   <valuemaps>
>     <valuemap>
>       <parameter>L</parameter>
>       <value key="">0</value>
>       <value key="en">1</value>
>     </valuemap>
>   </valuemaps>
>
>   <paramorder>
>     <param>L</param>
>   </paramorder>
>
> </cooluri>
>
> -----------------
> Um nun deine Sprachen zu ergaenzen musst du hier nur noch die  
> Valuemap zum
> parameter L (Language) ergaenzen.
> Fuege fuer jede Sprache den Language key hinzu.
> <value key="so_soll_das_URL_SEGMENT_aussehen">Nummer der Sprache  
> aus der
> Weltkugel</value>
>
> Beispiel siehst Du hier
> http://docs.google.com/View?docid=dd33gg45_3f8j96p#XML-EXAMPLES
>
> Wo die URL Segmente erscheinen sollen wird drch die reihenfolge der
> Parameter eintraege definiert ODER (finde ich einfacher)
> man haengt einen paramorder befehl hinten dran (siehe die Beispiele)
>
> SPRACHE VORNE
> *<partorder>
>      <part>valuemaps</part>
>      <part>pagepath</part>
>      <part>uriparts</part>
>      <part>predefinedparts</part>
>   </partorder>
>
> *SPRACHE HINTEN*
> **<partorder>
>      <part>pagepath</part>
>      <part>uriparts</part>
>      <part>predefinedparts</part>
>       <part>valuemaps</part>
>   </partorder>
>
> *Man verschiebt lediglich die Valuemaps.
>
> In die Valuemaps kannst Du dann selber bestimmen, wie die Sprachen  
> in derURL
> erscheinen sollen - wie oben beschrieben.
> z.B.
> en
> englisch
> english
> oder auch
> das_ist_nun _diese_Seite_in_Aenglidsch
>
> Das bleibt dir voellig selbst ueberlassen.
>
> Viel Spass
> Bis morgen - bei uns ist schon 2h nachts
>
> Andi
> * *
>
>
>
> -----------------
>
> Wie man genau CoolUri INstalliert siehst Du hier:
> http://docs.google.com/View?docid=dd33gg45_3f8j96p
> Danach sieht es so aus wie auf unserer Seite gerade eben
> http://www.t3pack.org.
>
> Ich denke so soll es aussehen oder?
>
> Probiere es und komme ggf. zurueck
> Andi
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list