Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZEND] Routing, mapowanie linków
michal_robak
post 17.01.2011, 21:21:57
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

Ostrzeżenie: (0%)
-----


Witam. Od niedawna zacząłem uczyć się Zend Frameworka i mam pytanie natury techniczej. Ale najpierw kilka słów wyjaśnienia. Piszę prostego CMS-a. Strona admina jest gotowa jeżeli chodzi chodzi o dodawanie usuwanie i przeglądanie PODSTRON. Teraz chcę zapisywać do bazy tak jakby dwie ścieżki. Pierwszą z nich jest standardowa ścieżka do podstrony druga natomiast jest przyjaznym linkiem. Oto przykład.

domyślna ścieżka do podstrony Kontakt:
zend_cms.local/cms/1
teraz przyjazny link ma wyglądać tak
zend_cms.local/contact

Teraz w bootstrapie mam inicjowanie "routerów" (nie wiem czy to poprawna odmiana, żeby mnie nikt za nią nie zbluzgał smile.gif):

  1. public function _initRoutes()
  2. {
  3. $frontController = Zend_Controller_Front::getInstance();
  4. $router = $frontController->getRouter();
  5.  
  6. $route = new Zend_Controller_Router_Route (
  7. 'cms/:id',
  8. array('module' => 'default',
  9. 'controller' => 'cms',
  10. 'action' => 'show')
  11. );
  12. $router->addRoute('index', $route);
  13. }


Więc napotkam w linku słówko cms to ide do modułu/controlera/akcji i w niej sobie odczytuje na podstawie parametru ID którą podstronę zczytać (edytowana za pomocą FCK edytora w adminie). Wszystko byłoby by cacy ale ... to nie jest to ... klienci już by się przyczepili dlaczego to jest taki dziwny link cms/1 zamiast jakiegoś słówka "contact". I wymyśliłem sobie takie coś:

Utworzę sobie routing przez który będzie przechodzić każdy link na stronie i w nim będę robił coś takiego:

1) sprawdzać adres linku z tabelką SeoMap (w której będę trzymać wszystkie mapowania linków)
2) jeżeli natrafię na link to pokazywać taką podstronę
3) w przeciwnym przypadku wywoływać defaultowy kontroller bądź kontroller dopasowany z url-a

Teraz jeżeli strona będzie czysto tekstowa to to może by się sprawdziło ale gdyby takich podstron o które mi chodzi było mało to wówczas leżę i kwiczę. Teraz niech ktoś mądry i rozsądny mi powie czy takie rozwiązanie ma ręce i nogi i czy jest wykonalne i co najważniejsze sensowne czy jest może awykonalne i robi się to zuepłnie w inny sposób questionmark.gif

EDIT
Proszę moderatora o przeniesienie tego posta do kategorii frameworki ... my mistake

Ten post edytował michal_robak 17.01.2011, 21:25:46


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 17:10