![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki rooting w Code igniter:
i jak wpiszę strona.pl/obiekt/1 to zamiast wywolac kontroler obiekt z argumentem to jest 404 :/ próbowałem dorzucić do tego $route['obiekt/(:any)'] = "client/obiekt/$1"; ale to nie działa, jeżeli z powyższej linijki usune /$1 to wtedy jest ok, ale nie przekazuje identyfikatora do kontrolera wiec tez lipa :/ nie wiem czy nie za bardzo zamotalem z tym rootingiem :/ Ten post edytował Octobus 3.04.2014, 06:09:20 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
A masz kontroler o nazwie "client" a w nim metodę "obiekt" z 1 parametrem?
Może masz dodatkowy kontroller o nazwie "obiekt" z metodą index bez żadnego argumentu? Ja zawsze używałem CI w ten sposób: Kontroler: ClientController Metoda: showObjectAction($id) Router: $route["obiekt/(:num)"] = "ClientController/showObjectAction/$1"; Wtedy nie masz problemów z nazewnictwem. Ps. jak przekazujesz tylko id w parametrze to używaj (:num) zamiast (:any) Edit. Dopiero teraz zauważyłem, że masz router: $route['(:any)'] = "client/$1"; Umieść go na początku zaraz po default_controller. CI podmieni Ci wszystkie routery na ten ostatni przez co wszystko będzie Cię przenosić na client/$1. Ten post edytował markuz 3.04.2014, 06:30:08 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
A masz kontroler o nazwie "client" a w nim metodę "obiekt" z 1 parametrem? mam folder client w nim kontroler obiekt (nazwa pliku i klasy taka sie zgadzaja) Może masz dodatkowy kontroller o nazwie "obiekt" z metodą index bez żadnego argumentu? wlasnie nie ;/ poza tym jak daje bez parametru to dziala :/ dalem tak index($id = 1) i jak daje bez parametru to rooting wchodzi a funkcja sie wykonuje (nie brakuje argumentu) Ja zawsze używałem CI w ten sposób: Kontroler: ClientController Metoda: showObjectAction($id) Router: $route["obiekt/(:num)"] = "ClientController/showObjectAction/$1"; Wtedy nie masz problemów z nazewnictwem. Ps. jak przekazujesz tylko id w parametrze to używaj (:num) zamiast (:any) Edit. Dopiero teraz zauważyłem, że masz router: $route['(:any)'] = "client/$1"; Umieść go na początku zaraz po default_controller. CI podmieni Ci wszystkie routery na ten ostatni przez co wszystko będzie Cię przenosić na client/$1. zmieniłem na:
ale nic sie nie zmienilo, mam podzielona aplikacje na client/admin dla tego taki rooting ... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
CI nie przewiduje osobnych folderów na kontrolery.. Jak wpiszesz client/obiekt/1 to wtedy CI szuka kontrolera o nazwie Client z metodą obiekt i 1 parametrem..
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
ale w admin'ie to dziala, mam np. strona.pl/admin/objects/edit/1 i mi wchodzi do kontrolera objects, metode edit z parametrem 1
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 21:39 |