![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam. Przejdę do rzeczy:
w pliku application.ini mam zdefiniowaną następującą tanslację adresu: Kod resources.router.routes.stronaglowna.route = "strona-glowna.html" resources.router.routes.stronaglowna.defaults.controller = "index" resources.router.routes.stronaglowna.defaults.acion = "index" I teraz z pewnej jakiejś tam akcji chcę zrobić przekierowanie na stronę główną. I moje pytanie brzmi jak to zrobić, aby przekierowywało mi ładnie na adres moj-projekt/public/strona-glowna.html Bo jeśli robię to przekierowanie w sposób następujący:
To otrzymuję przekierowanie na adres moj-projekt/public/index/index |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
jeśli jesteś w danej akcji kontrolera, to spokojnie możesz użyć:
No dobrze, a co w przypadku gdy będę chciał zmienić coś w pliku application.ini, np. adres zewnętrzny z 'strona-glowna.html' na 'inna-nazwa.html'? Wtedy jak mniemam, będę musiał w każdym pliku (gdzie tylko użyłem przekierowania) zmieniać nawe adresu, a to jednak nie o to chodzi. Po to używam frameworka, aby mieć wszystko z automatu : ) Teraz jednak mnie olśniło by zrobić taką sztuczkę:
I nawet działa to : ) Waszym zdaniem rowziązanie to jest optymalne, czy istnieje jakiś prostrzy sposób? @edit2: Doszedłem do wniosku jednak, że rozwiązanie to nie jest do końca dobre, gdyż nie będzie działać w przypadku adresu zewnętrznego podobnego np. do tego: "folder/strony/glownastrona.html", bo wtedy funkcja basename usunie mi wszystkie slash'e i zostanie mi tylko nazwa "glownastrona.html" Ten post edytował klapaucius 30.03.2013, 13:42:39 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
No dobrze, a co w przypadku gdy będę chciał zmienić coś w pliku application.ini, np. adres zewnętrzny z 'strona-glowna.html' na 'inna-nazwa.html'? Wtedy jak mniemam, będę musiał w każdym pliku (gdzie tylko użyłem przekierowania) zmieniać nawe adresu, a to jednak nie o to chodzi. Po to używam frameworka, aby mieć wszystko z automatu : ) trochę Ciebie nie rozumiem jak masz taki routing ustawiony:
i ustalasz sobie wszystkie linki następująco: jak będziesz chciał zmienić adres strony głównej to w application.ini zmieniasz
ja przynajmniej w taki sposób routing używam |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
No tak. Masz w pełni rację.
Ale jak we wcześniejszym poście napisałeś, jeśli chcę zrobić przekierowanie za pomocą $this->_redirect('strona-glowna.html');, to jako parametr tej metody nie podaję nazwy reguły translacji (w moim przypadku miałaby ona nazwe "stronaglowna") ani też nazwy akcji czy kontrolera, ale bezpośredni, zewnętrzny adres url (strona-glowna.html). I mój problem polega na tym, jak uzyskać dostęp do tego zewnetrzenego adresu(strona-glowna.html), podając funkcji przekierywującej jedynie nazwę translacji(stronaglowna). Jeśli jest to ciągle niezrozumiałe o co mi chodzi, to może zapytam jeszcze o coś innego: Robię sobie takie przekierowanie: Jednak wtedy błędnie przekierowuje mnie, gdyż zostaję przerzucony na stronę o adresie: moj-projekt/public/moj-projekt/public/strona-glowna.html. Jak więc zrobić, aby przekierowywało mnie poprawnie? (tak jak wcześniej pokazałem, można użyć funkcji basename(), która z wartości zwracanej przez funkcję url pozostawia jedynie samą cząstkę "strona-glowna.html", ale nie sprawdzi się to w przypadku, jeśli moj adres w regule translacji bedzie mial wartosc powiedzmy "costam/costam/strona-glowna.html" - bo wtedy usunie wszystkie slash'e". Jeśli piszę za bardzo chaotycznie to przepraszam, inaczej nie potrafie. Mam nadzieje ze sie połapiecie o co mi chodzi : ) @edit Dobra uporałem się z tym. Jeśli kogoś interesuje jak:
Dziękuję, pozdrawiam! : ) Ten post edytował klapaucius 31.03.2013, 00:08:36 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:41 |