Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter] Reguły dla wielu kontrolerów
Forum PHP.pl > Forum > PHP > Frameworki
blackstone
Mam takie pytanie jako początkujący w codeigniterze i zarazem w świecie framework-owania w PHP . Chce dla treningu zrobić projekt w którym będzie kilka kontrolerów, być może w kilku folderach. W dokumentacji Codeignitera przeczytałem ( co chce zrobić ) że :" Każdy podkatalog może zawierać domyślny kontroler, który zostanie wywołany, kiedy adres URL zawierać będzie jedynie nazwę podkatalogu. W tym celu wystarczy dodać regułę w pliku application/config/routes.php, która będzie kierowała do domyślnego kontrolera, kiedy wybrany będzie tylko podkatalog. " . Niestety nie jest tam napisane JAK to zrobić ( a przynajmniej nie znalazłem tego )

Przyglądam się plikowi config.php ale....nie mam pomysłu co gdzie wpisać. Wiem jak ustawić taka sytuację w przypadku jednego kontrolera np $route['default_controller'] = 'welcome'; ale w przypadku wielu puki co nie wiem. Tak wiec...proszę o nakierowanie mnie i z gory dzięki za odpowiedzi smile.gif
Śledzior
Robisz tak:

CODE
$route['nazwa_katalogu'] = 'nazwa_katalogu/nazwa_kontrolera';



Od siebie mogę polecić dokumentację. Wiele wyjaśnia wink.gif

https://www.codeigniter.com/user_guide/general/routing.html
blackstone
Mam następującą struktórę kontrolerów . Pierwszy generalny koleje_sudeckie.php ( działa bez zarzutu) który ładuje się automatycznie na stronie oraz drugi który znajduje się w folderze ster o nazwie admin.php. Próbuje ustalić regułę która przełączy się na ten drugi kontroler ale mi się nie udaję.

To reguły w routes.php

  1.  
  2. $route['default_controller'] = 'koleje_sudeckie';
  3. $route['404_override'] = '';
  4. $route['translate_uri_dashes'] = TRUE ;
  5.  
  6. $route['(:any)'] = 'koleje_sudeckie/$1' ;
  7.  
  8. $route['(:any)/admin'] = 'ster/admin' ;
  9.  


Gdy próbuje napiać to precyzyjniej ( jak w przykładzie poniżej) to wówczas kontroler generalny (koleje_sudeckie) nie reaguje na wywoływanie poszczególnych funkcji nie mówiąc o przełączeniu się na ten drugi. Jak przełączyć się na zupełnie inny kontroler niż ten standardowy questionmark.gifquestionmark.gif


* ks to całościowy folder z codeigniterem ( wolałem pisać ks niż całą nazwę folderu jakby ktoś pytał )

  1.  
  2. $route['default_controller'] = 'koleje_sudeckie';
  3. $route['404_override'] = '';
  4. $route['translate_uri_dashes'] = TRUE ;
  5.  
  6. $route['ks/koleje_sudeckie'] = 'koleje_sudeckie/$1' ;
  7.  
  8. $route['ks/admin'] = 'ster/admin/$1' ;
  9.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.