![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Przykład struktury strony www.przyklad.pl:
- /dane/ - /dane/edytuj - /dane/usun Mam także: - /admin - /admin/uzytkownik - /admin/uzytkownik/dodaj - /admin/uzytkownik/usun - /admin/uzytkownik/szukaj Pytanie dotyczy pogrubionego. Czy stosuje się zagnieżdzenie kontrolerów? Chciałbym (bo tak wg mnie jest natualniej) aby pod adresem /admin/uzytkownik uruchomił się konkretny kontroler. Na ten moment kontrolerem jest "admin", a akcje wywołuje za pomocą adresu uzytkownik-dodaj, uzytkownik-szukaj czyli tak na około. Ten post edytował markonix 9.04.2012, 16:48:39 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Powiem Ci jak to rozwiązuję w zend, tam są moduły - default obsługuje wszystko co nie zawiera nazwy modułu, a moduł admin przez "katalog" admin, czyli dokładnie tak jak oczekujesz przy czym modułu w zf są dosyć "przekombinowane" lecz w 2.0 (są już relasy) wszystko wraca do logicznego wyjścia tylko czekać na zf 2. :-)
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Dodaj folder admin w którym będzie kontroler uzytkownik.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Po prostu w folderze controllers wrzucić folder admin?
Nie powiem, że to by było ciekawe rozwiązanie bo by troszkę zrobiło porządku w tym folderze. No cóż, próbujemy (bez modyfikacji routera się nie obejdzie). edit: Szczerze jakoś mi to nie idzie. Nie chce jakoś zbytnio komplikować kodu ale jedynie jak to widzę to sprawdzenie w momencie braku kontrolera czy przypadkiem nie jest folderem, jeżeli tak to musiałbym jakoś przemianować wszystko, żeby kontroler stał się nazwą folderu, akcja stała się kontrolerem, a pierwszy argument stał się akcję. Troszkę to pokomplikowane :/ Ten post edytował markonix 9.04.2012, 21:39:17 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tylko po co tak sobie życie komplikujesz wynajdując koło na nowo? Masz tyle gotowych rozwiązań że wystarczy je tylko użyć (frameworki). Jak nie chcesz całego to masz serię artykułów http://fabien.potencier.org/articles jak to zrobić na podstawie Symfony 2. Admin tutaj zdecydowanie jest oddzielnym modułem.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Po prostu w folderze controllers wrzucić folder admin? Nie powiem, że to by było ciekawe rozwiązanie bo by troszkę zrobiło porządku w tym folderze. No cóż, próbujemy (bez modyfikacji routera się nie obejdzie). edit: Szczerze jakoś mi to nie idzie. Nie chce jakoś zbytnio komplikować kodu ale jedynie jak to widzę to sprawdzenie w momencie braku kontrolera czy przypadkiem nie jest folderem, jeżeli tak to musiałbym jakoś przemianować wszystko, żeby kontroler stał się nazwą folderu, akcja stała się kontrolerem, a pierwszy argument stał się akcję. Troszkę to pokomplikowane :/ Poprostu zrob 2 rozne typy kontrolerow. FrontController czyli np wlasnie admin/ home/ forum/ BlockController czyli mniejsze kontrolery czyli np rzeczy zwiazane z uzytkownikami, ewentualnie kazda akcje daj do innego pliku i trzymaj je w katalogu users/ |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To może być tak jak już napisali wyżej folder w którym wrzucisz te kontrolery, a mogą to być pojedyncze kontrolery. Nie wiem jak to w zendzie wygląda ale w takim symfony wystarczy prosta regułka dla routingu:
Kod admin_user: url: /admin/uzytkownik/:action param: { module: adminUser } requierments: { action: dodaj|usun|szukaj } I podobnie np w artykułach czy tam innych rzeczach. I wszystkie kontrolery dla admina mogą się zaczynać od admin z dodanym "prefiksem" danej rzeczy którą wykonuje dany kontroler. W tym wypadku zarządzanie użytkownikiem. Albo jeszcze inaczej, stworzyć panel administracyjny, jako inna aplikacja, wtedy tylko będziesz robić kontrolery bez przedrostka admin. Opcji w sumie jest wiele (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:38 |