Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter]Routing - Proszę o wyjaśnienie.
Forum PHP.pl > Forum > PHP > Frameworki
adbacz
Zabieram się za pisanie prostego komponentu artykułów. Wszystko mam ładnie rozrysowane i poukładane w głowie, ale teraz zastanawia mnie jedna rzecz. Jak wylistować artykuły w taki sposób, aby były widoczne ich tytuły, które zarazem będą linkami do nich i aby były wyświetlane na osobnej, całej stronie?

Poszperałem trochę i znalazłem routing w CI, ale niestety UserGuide niezbyt wiele mi uświadomił. Wiem tylko tyle, że można zrobić link do artykułu z pomocą jego ID znajdującego się w bazie, ale za nic nie wiem jak zrobić aby jego tytuł w listingu był linkiem a tym bardziej, jak zrobić, by w URLu był jego tytuł.

Mógłby mi ktoś to wytłumaczyć bardziej przystępnym językiem lub jeśli to można, na przykładzie?
adbacz
Tak się składa qrooel, że czytałem to wszystko przed napisaniem tematu, ale żadna z tych wiadomości nie odpowiedziała mi na pytanie zadane wyżej. Mam tylko szczątki informacji jak np o segmentach, ale nijak nie wiem jak to zastosować.

Chciałbym, aby mi ktoś to bardziej wytłumaczył albo "pozbierał szczątki" i poukładał w całość. Jeśli jest taka możliwość to będę wręcz niezmiernie wdzięczny.

EDIT:
Metodą prób i błędów oraz czytania skryptów innych doszedłem do tego, jak to powinno wszystko wyglądać. Ładnie mi generuje teraz tytuły stron w adresach. Trzeba było posiedzieć nockę ale było warto smile.gif
el.pablo.72
Przykład zastosowania:

  1. $route['default_controller'] = "pages";
  2.  
  3. $route['admin'] = 'admin/pages';
  4. $route['admin/auth'] = 'admin/auth';
  5. $route['admin/auth/(.*)'] = 'admin/auth/$1';
  6. $route['admin/pages'] = 'admin/pages';
  7. $route['admin/pages/(.*)'] = 'admin/pages/$1';
  8. $route['admin/ajax'] = 'admin/ajax';
  9. $route['admin/ajax/(.*)'] = 'admin/ajax/$1';
  10.  
  11. $route['images/(.*)'] = 'images/$1';
  12. $route['source/(.*)'] = 'source/$1';
  13. $route['auth'] = 'auth';
  14. $route['auth/(.*)'] = 'auth/$1';
  15. $route['ajax/(.*)'] = 'ajax/$1';
  16. $route['(.*)'] = 'pages/$1';
  17.  
  18. $route['404_override'] = '';


i możesz wyeliminować w url: string: pages, czyli nazwę kontrolera, np.:
  1.  
  2. <a href="http://nazwa-domeny.pl/nazwa-metody">coś tam</a>
  3.  


czyli nie musisz pisać:

  1.  
  2. <a href="http://nazwa-domeny.pl/pages/nazwa-metody">coś tam</a>
  3.  


można nawet zrobić coś takiego:

  1.  
  2. <a href="http://nazwa-domeny.pl/nazwa-stron.html">coś tam</a>
  3.  


choć nie ma na serwerze pliku: nazwa-stron.html

wink.gif

Można to samo zrobić w pliku .htaccess.
szok
Na początek jednak polecam zagłębić się bardziej w PHP, a dopiero później usiąść nad frameworkami, bo masz duże braki. Takie rzeczy jak URL'e itp to podstawa podstaw.

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-2025 Invision Power Services, Inc.