Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten Ansicht
  #1  
Alt 08.05.06, 07:52
Forum Zuschauer
 
Registriert seit: 05.05.06
Ort: Stuttgart
Alter: 23
Beiträge: 7
Unglücklich

Problem: statische Seiten mit zwei Sprache


Hallo ihr alle, weißt jemand von euch vielleicht wie man bei statischen Seiten die Mehrsprachigkeit behält?
Ich habe simulateStaticDocuments benutzt und kann schon die statischen Seiten generieren. Aber die Seiten werden nur auf englisch (Defaultsprache) generiert obwohl ich die Seiten auf deutsch umgeschaltet habe.

simulateStaticDocuments_pEnc_onlyP = L habe ich auch schon in Setup eingefügt. Die URL lautet 17.html?&L=0 für englisch und 17.html?&L=1 für deutsch aber trotzdem auf englisch generiert. Ich finde die URL sind auch unschön so mit Fragezeichen nach .html.

Mit dem Sprachumschalter funktioniert auch noch nicht so ganz. Wenn man bei der statischen Seite auf einen Sprachauswahl-button klickt, dann wird die index.PHP geöffnet. Was mache ich hier falsch?

Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
#
#
#SPRACHSETUP

config.linkVars = L

# Browsersprache Deutsch?
[userFunc = user_match(de) ]
  # Ja = Sprache auf Deutsch setzen
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
[else]
  # Nein, dann Englisch wählen
config.sys_language_uid = 0
config.language = en
config.locale_all = english
[global]

# Auswertung URL-Parameter
# Überschreiben Browsereinstellungen

# German language, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
[global]

# English language, sys_language.uid = 0
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = en
config.locale_all = english
[global]
#
#
#

Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
### Begin simulate Static ###
config {
simulateStaticDocuments = 1
simulateStaticDocuments_noTypeIfNoTitle = 1
simulateStaticDocuments_aliasPro = 1
simulateStaticDocuments_pEnc = md5
simulateStaticDocuments_pEnc_onlyP = L
}

.htaccess :
Code:
RewriteEngine On
RewriteBase /aico
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^[^/]*\.html$ index.php?id=$1&L=$2
Ach übrigens, ich habe nur einen Baum für beiden Sprachen. Könnte das helfen? oder nicht..
Komme momentan einfach nicht weiter...
Danke im Voraus
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 11.05.06, 13:14
Forum Newbie
 
Registriert seit: 14.12.05
Alter: 34
Beiträge: 47

Die realURL-Ext. nehmen und die Sprachen als special-Menü


Hi nitznitz,

also ich habe in meinen ersten Versuchen mit der Mehrsprachigkeit und den statischen html-Seiten dies auch mit "simulateStatic..." versuchen zu lösen. Ich habe auch so wie Du die multi-tree- Lösung mit vier Sprachen implementiert. Um die Sprachvariable "L" in den links zu speichern habe ich ebenfalls den md5-Algorithmus gewählt. Das hat bei mir bewirkt, dass z.B. statt "www.meine-domain.de/typo3/index.php?id=mitarbeiter&L=1" wurde "www.meine-domain.de/typo3/mitarbeiter+M52087573ab0.html". Nur beim Publizieren sind nur die Dateinamen ohne den md5-Teil (hat für eine "L" immer den gleichen Wert) rausgekommen und die musste ich dann per Hand ergänzen. Dein Problem, dass es: 17.html?&L=0 rauskommt, kann bedeuten, dass Du wahrscheinlich nach der Einstellung
Typoscript-Code:
1:
2:
simulateStaticDocuments_pEnc = md5
simulateStaticDocuments_pEnc_onlyP = L
das Cache nicht geleert hast.

Außerdem gefallen mir Deine Direktiven im Ts Setup nicht. Ich habe bei mir:
Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
## der Buchstabe "L" als Parameter zur Kennzeichnung der Sprache:
config.linkVars = L
# wenn der globale Parameter L auf 0, oder beim Erstaufruf (kein L uebergeben-> L<0) steht:
[globalVar = GP:L<=1]
# als Standardsprache...
config.sys_language_uid=0
page.20.marks.LANGID.value=0
# ... wird Deutsch definiert:
config.language = de
# FE Ausgabe:
config.metaCharset = iso-8859-1
### richtige Zeit-, Datum-, Waehrung- Formatierung:
config.locale_all = de_DE.utf8
#beschraenkt die Suche auf die aktive Sprache:
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang=0
#...
[global]
# wenn der globale Parameter L auf 6 steht --> Polnisch:
[globalVar = GP:L = 6]
config.sys_language_uid=6
config.language = pl
config.metaCharset = iso-8859-2
config.locale_all = pl_PL.utf8
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang=6
#...
[global]
und dazu die Sprach-Auswahlmenü:
Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
subparts.SPRACHE = COA
subparts.SPRACHE {
10 = IMAGE
10.alttext = German
10.file = media/uploads/flag_de.gif
### statisch:
#10.linkWrap = <a href="welcome+M54a708de802.0.html" target="_self"> | &nbsp;&nbsp;</a>
### dynamisch:
#  10.linkWrap = <a href="index.php?id={0}&type=0&L=0" target="_self"> | &nbsp;&nbsp;</a>
### mit der realURL:
10.linkWrap = <a href="gr/welcome.html" target="_self"> | &nbsp;&nbsp;</a>
### weiter, auf 20 und 30 Englisch bzw. Franz. und zuletzt Polnisch:
40 = IMAGE
40.alttext = Polish
40.file = media/uploads/flag_pl.gif
### statisch:
# 40.linkWrap = <a href="welcome+M5ab988697c2.0.html" target="page"> | &nbsp;&nbsp;</a>
### dynamisch:
#40.linkWrap = <a href="index.php?id={0}&type=0&L=6" target="_self"> | &nbsp;&nbsp;</a>
### mit der realURL:
40.linkWrap = <a href="po/welcome.html" target="_self"> | &nbsp;&nbsp;</a> - ERROR: Line 20: The script is short of 1 end brace(s)

Wie Du merkst habe ich dann, nach dem Rat eines anderen Typo3- Users die realURL- Extension herangezogen.

Zuerst muss Du sie bei dir global oder lokal im BE installieren und anschließend ihre Konfiguration vornehmen.
1. In der typo3conf/localconf.php sieht sie bei mir folgendermaßen aus:
PHP-Code:
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['linkData-PostProc'][]= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';

$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['checkAlternativeIdMethods-PostProc'][]= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urldecodecache']= 'tx_realurl_urldecodecache';

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urlencodecache']= 'tx_realurl_urlencodecache';

### Modifikation am 05.05.2006: die alias und nav_title hinzugefuegt: ###
$TYPO3_CONF_VARS['FE']['addRootLineFields'] .= ',tx_realurl_pathsegment, alias, nav_title, title';

####################################################################
### Aus "http://wiki.typo3.org/index.php/EXT/realurl/examples:
####################################################################

$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
    
'_DEFAULT' => array(
        
'init' => array(
            
'enableCHashCache' => 1
            
// 'appendMissingSlash' => 'ifNotFile',
            
'enableUrlDecodeCache' => 1,
            
'enableUrlEncodeCache' => 1,
            ),
        
'redirects' => array(
            ), 
//end of 'init'
        
'preVars' => array(
            array(
                
'GETvar' => 'no_cache',
                
'valueMap' => array(
                    
'nc' => 1,
                    ),
                
'noMatch' => 'bypass',
                ),
            array(
                
'GETvar' => 'L',
                
'valueMap' => array(
                    
'de' => 0,
                    
'gr' => 0,
                    
'en' => 1,
                    
'fr' => 2,
                    
'dk' => 3,
                    
'po' => 6,
                    ),
                
'valueDefault' => 'gr',
                
'noMatch' => 'bypass',
            ),
// Modifikation am 4.05.2006, wg. der loginarea, begin:
    
array(
        
'type' => 'action',
        
'index' => array(
            
'loginarea' => array(
                
'type' => 'feLogin'
                
),
            
'_DEFAULT' => array(
                
'type' => 'bypass'
                
)
            )
        ),
// loginarea, ende            
            
            
), // end of 'preVars'

    // use extended page name rendering
    // page names are converted to readable page/sub-page/sub-sub-page.html
        
'pagePath' => array(
            
'type' => 'user',
            
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
            
'spaceCharacter' => '-',
            
'languageGetVar' => 'L',
            
'expireDays' => 3,
            
'rootpage_id' => 137,
            
// modified on 04.05.2006: 1--> 0
            
'disablePathCache' => '0'
            
// 'encodeTitle_userProc'=>'EXT:realurl/tx_realurl_encodeTitle_userProc.php:&user_encodeDates',
            
), // end of pagePath
/*            
        'postVarSets' => array(
            'search-test' => array(
            'indsearch' => array(
               array(
                  'GETvar' => 'tx_indexedsearch[ext]',
                  'valueMap' => array(
                     'extended' => 1,
                     'regular' => 0,
                  ),
                  'valueDefault' => 'regular',
                  'noMatch' => 'bypass',               
               ),
            ),
            
            '_DEFAULT' => array(
               'keyValues' => array(
                ),
            ),        
        ), // end of 'postVarSets'
*/
        
'fixedPostVars' => array(
        ),

    
'fileName' => array(
        
'index' => array(
            
//ajout pour printlink :
            
'print.html' => array(
                
'keyValues' => array(
                    
type => 98,
                    )
                ),
            
'xml.html' => array(
                
'keyValues' => array(
                    
type => 96,
                    )
                ),
            
'xml-menu.html' => array(
                
'keyValues' => array(
                    
type => 3,
                    )
                ),
            
'plaintext.html' => array(
                
'keyValues' => array(
                    
type => 99,
                    )
                ),
            
'pda-version.html' => array(
                
'keyValues' => array(
                    
type => 95,
                    )
                ),
            
'welcome.html' => array(
                        
'keyValues' => array(
                            
id => 137,
                            )
                        ),
            ),
        
'_DEFAULT' => array(
            
'keyValues' => array(
                )
            
//'noMatch' => 'welcome.html'
            
),
        
// add .html suffix to the end of the path generated
        
'defaultToHTMLsuffixOnPrev' => 1,
        ),  
// end of 'fileName'
    
    
),  // end of '_DEFAULT'
        
    
'www.meine-domain.de' => '_DEFAULT',
); 
2. Dies ist die Konfiguration von „quickstart-3.8.1/.htaccess“:
Die Reihenfolge ist sehr wichtig!
Code:
### Begin: Rewrite stuff ###

# Enable URL rewriting
RewriteEngine On

RewriteBase /typo3/
## in den typo3- Dateien soll das Rewriting unterbunden werden:
RewriteRule ^typo3$ - [L]
RewriteRule ^(typo3|typo3temp|media|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/.*$ - [L]
RewriteRule ^.*/search\.pl.*$ - [L]

#Alle anderen URL’s (außerhalb Typo3) also z.B. eigen implementiere Sites #sollen an die index.php weitergeleitet werden:
RewriteCond    %{REQUEST_FILENAME} !-f
RewriteCond    %{REQUEST_FILENAME} !-d
RewriteCond    %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
### End: Rewrite stuff ###
3. Die Aktivierung im TS Setup: (Das Haupttemplate Deiner Site:sad:
Typoscript-Code:
1:
2:
3:
config.baseURL = http://www.meine-domain.de/typo3/
config.prefixLocalAnchors = all
config.tx_realurl_enable = 1

Wichtig!- das „simulateStatic...“ muss dabei deaktiviert werden:
Typoscript-Code:
1:
config.simulateStaticDocuments = 0


Jetzt sollten Deine URL’s folgendermaßen ausschauen:
http://www.meine-domain.de/en/firmen...tarbeiter.html

Dies ist eine elegante URL, denn es wird die gesamte Menü-Struktur (alle Ebenen) in verzeichnisähnlicher Form angezeigt.

Vor ein paar Wochen bin ich bezüglich Sprach-Auswahlmenü auf eine bessere Lösung gestoßen. Wie Du gesehen hast, waren vorher diese Sprachwechsel-Einstellungen im TS Setup hartkodiert, was bei der Umstellung von statisch auf dynamisch jedes Mal Änderung in diesem Setup erforderte àMEGA unelegant und zeitraubend!
Jetzt wird bei mir ein spezielles Menü vom Typ „language“ angelegt, wo die „L“ bekannt gegeben sind und das System stellt es automatisch auf statisch bzw. dynamisch um wenn die realURL aus-/eingeschaltet ist. Programmtechnisch musst Du dazu ebenfalls im TS Setup dieses Menü implementieren:
Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
subparts.SPRACHE = HMENU
subparts.SPRACHE {
special = language
special {
value = 0,1,2,6
normalWhenNoLanguage = 0
}
1 = GMENU
1 {
NO {
XY=[5.w]+4, [5.h]+4
      #   backColor=white
5= IMAGE
5.file =media/flags/flag_de.gif || media/flags/flag_uk.gif || media/flags/flag_fr.gif || media/flags/flag_pl.gif
5.offset = 2,2
}

ACT < .NO
ACT = 1
ACT.backColor = black
ACT.noLink = 1

USERDEF1 < .NO
USERDEF1 =1
USERDEF1.5.file = media/flags/flag_de_d.gif || media/flags/flag_uk_d.gif || media/flags/flag_fr_d.gif || media/flags/flag_pl_d.gif    
USERDEF1.noLink = 1
USERDEF2 < .USERDEF1
USERDEF2.backColor = green      
}
}

Als „values“ werden die „L“-Werte, in der gewünschten Reihenfolge- aufpassen beim deklarieren der Flag-Images- angegeben. Der Zustand USERDEF1 regelt das Verhalten wenn eine ausgewählte Seite nicht in irgendeiner (außer der ausgewählten) Sprache verfügbar ist- die Flagge wechselt in schwarz-weiß und USERDEF2- wenn die aktuelle Seite nicht in der ausgewählten Sprache verfügbar ist- die Flagge wechselt in schwarz-weiß und wird grün umrahmt und je nach Einstellung der Seite wird die Seite in der default- Sprache bzw. eine „Seite nicht vorhanden!“- Meldung angezeigt.

So, jetzt habe ich Dir ganz viel zum Studieren gegeben aber ich hoffe, es hilft Dir weiter. Wenn nicht dann melde Dich wieder.


Viele Grüße
Brygida
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are An


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Statische Seiten im Fileadmin Diggi TYPO3 4.x Fragen und Probleme 3 08.05.08 12:46
Zwei-Sprache wird nicht indiziert Christoph Neuroth Indexed Search 2 27.03.08 15:10
3 Sprache 3 statische Forms und wie Verlinken bartenbach TYPO3 4.x Fragen und Probleme 0 16.08.06 12:15
Statische Seiten simulieren mr.jumpman Suchmaschinenfreundliche URLs (SEO) 13 19.02.06 17:29
Statische Seiten und Mehrsprachigkeit Brygida Suchmaschinenfreundliche URLs (SEO) 4 16.02.06 09:57


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.


Powered by vBulletin® Version 3.6.8 Patch Level 2 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Template-Modifikationen durch TMS