Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] Wilojezycznosc aplikacji, z pomocą URL
terabit
post 3.12.2010, 22:06:39
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

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


Witam,
od ponad godziny kombinuje i coś mi to nie wychodzi...

chcę by adres mojej aplikacji wyglądał w taki sposób: adres.com/język/reszta_z_zf

chce by byla to dwu znakowa wartosc, np. pl, en...
w aplikacji przez zwykły warunek chce sprawdzać jaki jest jezyk i pobierać odpowiednie dane z bazy.

Prościej byłoby przez cookie lub sesje ale niestety nie chce problemów wyszukiwarkami...


ma ktoś jakiś pomysł?


--------------------
Go to the top of the page
+Quote Post
sweter
post 3.12.2010, 22:52:55
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Ale dlaczego ma być adres.com/język/reszta_z_zf, a nie adres.com/reszta_z_zf/język?
Z tego co wiem to wyszukiwarki nie bardzo patrzą na kolejność słów kluczowych w adresach.
Poza tym niedługo sam będę musiał zrobić stronę wielojęzykową, więc wybiorę ten sposób, ale jeżeli któryś z forumowiczów zna ciekawsze rozwiązanie to z chęcią je również poznam smile.gif


--------------------
Go to the top of the page
+Quote Post
melkorm
post 4.12.2010, 01:23:23
Post #3





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Cytat
ma ktoś jakiś pomysł?

w routerze
Kod
:lang/:module/:controller/:action


I jak default pl.

Tylko z navigation jest problem bo resetuje przy np. en więc trzeba przeliterować i ustawić poprawny język.


--------------------
Go to the top of the page
+Quote Post
terabit
post 7.12.2010, 19:49:22
Post #4





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

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


Cytat(melkorm @ 4.12.2010, 01:23:23 ) *
w routerze
Kod
:lang/:module/:controller/:action


I jak default pl.

Tylko z navigation jest problem bo resetuje przy np. en więc trzeba przeliterować i ustawić poprawny język.


tylko gdzie moge zmienic ustawienia routera?
musze jakas dodatkowa klase stworzyc z ustawieniami?

sorry za pytania ale w zf jestem nowy winksmiley.jpg


z tego co wyczytałem musze w bootstrapie stworzyć coś takiego:
  1. $frontController->getRouter()->addRoute(
  2. 'default',
  3. new Zend_Controller_Router_Route(
  4. '/:lang/:controller/:action/*',
  5. 'lang' => 'pl',
  6. 'controller' => 'index',
  7. 'action' => 'index'
  8. )));


oraz stworzyć plik routes.ini w application/configs:
  1. resources.router.routes.default.route = ":lang/:controller/:action/:action"
  2. resources.router.routes.default.type = "Zend_Controller_Router_Route"
  3. ;resources.router.routes.default.defaults.module = default
  4. resources.router.routes.default.defaults.controller = index
  5. resources.router.routes.default.defaults.action = index


ale i tak mi to nie działa...

nikt nie ma pomysłu jak to zrobić? winksmiley.jpg

Ten post edytował terabit 4.12.2010, 12:14:56


--------------------
Go to the top of the page
+Quote Post
melkorm
post 7.12.2010, 19:58:13
Post #5





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Router definiujesz w configu lub ręcznie w PHP ty zrobiłeś to tu i tu winksmiley.jpg

I musisz wyczyścić (w przypadku nadpisywania default'owego routera) uprzednio zdefiniowane routery, jest funkcja.

P.S. czym objawia się owe nie działanie?

Ten post edytował melkorm 7.12.2010, 19:58:28


--------------------
Go to the top of the page
+Quote Post
terabit
post 14.12.2010, 15:27:54
Post #6





Grupa: Zarejestrowani
Postów: 170
Pomógł: 4
Dołączył: 11.08.2006

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


Moj bootstrap wyglada tak:
na pewno coś jest namieszanie bo jak wywalę tą funkcje to wszystko działa standardowo a ja wszystko to zostawie to po wlaczeniu katalogu public wyswietla sie tylko biale tlo, poprostu pustki winksmiley.jpg

  1. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  2. {
  3. protected function _initAutoload()
  4. {
  5. $frontController->getRouter()->addRoute(
  6. 'default',
  7. new Zend_Controller_Router_Route(
  8. '/:controller/:action/*',
  9. 'controller' => 'index',
  10. 'action' => 'index'
  11. )));
  12. }
  13. }


tak jak już wspominałem, wszystko ma być standardowo tylko przed kontrolerem i akcjami ma byc dwu literowy skrót jezyka,

zastanawiam się jak później poprawie to stosować...

pomoże ktoś? winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 01:11