konto usunięte

Temat: Aplikacja w CakePHP, problem z routingiem, a pewnie z...

Witam Wszystkich...

mam prosbe, bo sobie z tym problemem nie radzę...

stworzyłem sobie "aplikacje" ktora wyswietla mi na stronie artykuły, wyswietla zgodnie z moim zalozeniem, korzystając z "przyjaznych linków" (kolumna SLUG w tabeli POSTS)

jakas-domena.pl/przyjazny-link
- wyswietla artykuł znaleziony po nazwie (w kolumnie SLUG, tabeli POSTS), nieznalezienie artykułu powoduje wyswietlenie strony błędu 404 (to działa)

routing mam taki:
- Router::connect('/*', array('controller' => 'posts', 'action' => 'view'));

Problem zaczal pojawiac sie w momencie gdy na stronie chcialem wyswietlac rowniez produkty (tabela PRODUCTS), tutaj tez chcialbym zeby byly przyjazne linki
Dlatego chcialem wprowadzić parametr "po przecinku" (/SLUG,ID,TYPE):
- dla artykułów: jakas-domena.pl/przyjazny-slug-link,5,art
- dla kategorii: jakas-domena.pl/przyjazny-slug-link,10,cat
- dla produktów: jakas-domena.pl/przyjazny-slug-link,15,prod

jak takie cos zrobic zeby na stronie zadziałało?

jak ma wyglądać zmodyfikowany routing, zeby obslugiwał te trzy formy wyswietlania tresci (artykułow, produktów, kategorii) i w zaleznosci od ostatniego parametru przeszukiwał odpowiednią tabelę (ARTICLES/CATEGORIES/PRODUCTS) i szukał najpierw po SLUG, a następnie po ID artykułu (choć może musi być warunek spełniony łącznie)

Dziekuje z gory za pomoc lub wskazówkę.

Jesli mają Państwo jakieś materiały do CakePHP lub polecają, te które warto kupić, to proszę o informację.

mikroPiekarz.Sebastian Gabryś edytował(a) ten post dnia 06.01.11 o godzinie 09:31
Kamil Kosiński

Kamil Kosiński CTO w
DobryMechanik.pl

Temat: Aplikacja w CakePHP, problem z routingiem, a pewnie z...

Problem zaczal pojawiac sie w momencie gdy na stronie chcialem wyswietlac rowniez produkty (tabela PRODUCTS), tutaj tez chcialbym zeby byly przyjazne linki
Dlatego chcialem wprowadzić parametr "po przecinku" (/SLUG,ID,TYPE):
- dla artykułów: jakas-domena.pl/przyjazny-slug-link,5,art
- dla kategorii: jakas-domena.pl/przyjazny-slug-link,10,cat
- dla produktów: jakas-domena.pl/przyjazny-slug-link,15,prod

jak takie cos zrobic zeby na stronie zadziałało?

nie wiem, czy masz podział na pluginy czy nie, ale ogólnie chodzi o taki pomysł (ale sposobów na to samo jest więcej):

Router::connect( '/:slug,:id,art', array( 'plugin' => 'articles', 'controller' => 'articles', 'action' => 'view' ), array( 'pass' => array( 'slug', 'id' ), 'slug' => '[a-z0-9-]+', 'id' => $ID ) );

Router::connect( '/:slug,:id,cat', array( 'plugin' => 'products', 'controller' => 'categories', 'action' => 'view' ), array( 'pass' => array( 'slug', 'id' ), 'slug' => '[a-z0-9-]+', 'id' => $ID ) );

Router::connect( '/:slug,:id,prod', array( 'plugin' => 'products', 'controller' => 'products', 'action' => 'view' ), array( 'pass' => array( 'slug', 'id' ), 'slug' => '[a-z0-9-]+', 'id' => $ID ) );

tabelę (ARTICLES/CATEGORIES/PRODUCTS) i szukał najpierw po SLUG, a następnie po ID artykułu (choć może musi być warunek spełniony łącznie)

z tym to sobie chyba poradzisz, chociaż nie wiem po co chcesz szukać i po tym i po tym. id jest unikalne, slug zresztą też jeśli dobrze użyłeś jakiegoś zachowania od generowania slugów.Kamil Kosiński edytował(a) ten post dnia 06.01.11 o godzinie 11:07

konto usunięte

Temat: Aplikacja w CakePHP, problem z routingiem, a pewnie z...

dzieki za odpowiedz... pluginów nie stosuję (bo to moje początki z cakephp), ale poczytam o nich i gdybym się znowu zaciął, to pozwolę poprosić o pomoc...

Następna dyskusja:

Problem z routingiem, potrz...




Wyślij zaproszenie do