Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]CodeIgniter i Multi-Language
in5ane
post
Post #1





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Cześć, dodaję do skryptu napisanego w CodeIgniter wielojęzyczność. Zrobiłem takie routy:
  1. $route['(\w{2})/(.*)'] = '$2';
  2. $route['(\w{2})'] = $route['default_controller'];

I chciałbym dodać, że jak ktoś wpisuje url bez języka, np. nazwa.com, to żeby dodało automatycznie nazwa.com/pl. Macie jakieś pomysły? Czy to w tych routach robić czy w htaccess?
Go to the top of the page
+Quote Post
webmaniak
post
Post #2





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

Ostrzeżenie: (0%)
-----


Robisz to w czystym CI? tzn. nie żaden cms? Do CI polecam polskie forum ... CI. Ale tak w ogóle czemu chcesz żeby to tak działało? Przecież można zrobić żeby bez wpisywania domyślnym krajem było pl.
Go to the top of the page
+Quote Post
in5ane
post
Post #3





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


No i tak mam zrobione, że bez wpisywania domyślnym krajem jest PL, ale ja chce żeby dodało mi to "pl" do URL'a.
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Ja to zrobiłem w MY_Controller (extends CI_Controller) - konstruktorze.

  1. /* Lang from URL */
  2. $this->active_lang = $this->uri->segment('1');
  3.  
  4. /* Lang is unsupported or not in url so make redirect */
  5. if (!in_array($this->uri->segment('1'), array_keys($this->lang_array)))
  6. {
  7.  
  8. if (in_array(get_cookie($this->cookie_lang_name), array_keys($this->lang_array)))
  9. {
  10. redirect(get_cookie($this->cookie_lang_name) .'/' . full_url_string());
  11. }
  12. else
  13. {
  14. /* Geolocalization */
  15. $this->load->helper('geo_location');
  16. $country_code = strtolower(get_geolocation());
  17.  
  18. if (in_array($country_code, array_keys($this->lang_array)))
  19. {
  20. redirect($country_code .'/' . full_url_string());
  21. }
  22. else
  23. {
  24. redirect($this->default_lang. '/' . full_url_string());
  25. }
  26.  
  27. }
  28. exit();
  29.  
  30. }


Oczywiście ustawiam też ciasteczko itp.

Ten post edytował markonix 18.08.2013, 12:54:25
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:31