Autor | Zpráva | ||
---|---|---|---|
hanus Profil |
#1 · Zasláno: 17. 7. 2012, 12:44:17
Ahoj, pouzivam na webe 2 rozne jazykove verzie: EN a SK
<a href="index.php/en" title="English language">EN</a> | <a href="index.php/sk" title="Slovenský jazyk">SK</a> Ked som napr. na /index.php/en/login, tak potrebujemto, ze ked kliknem na EN alebo SK, tak stale ostanem na stranke login, len adresa bude /index.php/sk/login, skusal som rozne php skripty, no neviem to spravit. |
||
shaggy Profil |
#2 · Zasláno: 17. 7. 2012, 13:54:31
hanus:
„skusal som rozne php skripty“ To by ma zaujímalo, aké si škúšal ;-) Pretože je to triviálna vec a skôr ako s programátorskými skúsenosťami súvisí s logickým myslením. Keby si sa zamyslel, tak: 1. by si pochopil, že máš dva odkazy na jazykové verzie, ktoré majú vždy odkazovať na tú istú stránku, kde si, iba v inej jazykovej mutácií. Čiže napríklad: <a href="index.php/en/kontakt" title="English language">EN</a> | <a href="index.php/sk/kontakt" title="Slovenský jazyk">SK</a> 2. všimol by si si, že sa mení vždy len určitá časť adresy: index.php/sk index.php/sk/kontakt index.php/sk/login 3. z toho by si mohol logicky odvodiť, že potrebuješ vždy iba url friendly názov konkrétnej stránky. A keďže podľa url zobrazuješ nejaký obsah, tak predpokladám, že url friendly názov tej stránky máš v nejakej premennej. 4. predpokladajme, že sa tá premenná volá napr. $page_url, preto by malo stačiť: <a href="index.php/en/<?php echo $page_url; ?> " title="English language">EN</a> | <a href="index.php/sk/<?php echo $page_url; ?>" title="Slovenský jazyk">SK</a> Samozrejme je to veľmi jednoduchý príklad, ktorý by sa dal ešte zdokonaliť drobnými vychytávkami. Predpokladám, že nepoužívaš žiadne CMS, ktoré by ti tie adresy generovalo. A tiež predpokladám, že url konkrétnej stránky je rovnaká pre všetky jazykové verzie (okrem identifikátora jazyka). Ak by si potreboval odlišné url pre jednotlivé krajiny, napr. /sk/kontakt a /en/contact, tak môžeš použiť napr. pole, kde budeš mať uložené jednotlivé jazykové mutácie. |
||
Časová prodleva: 11 let
|
0