![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 20.02.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam
Zwracam się do was z prośbą o pomoc w wyciągnięciu mnie z totalnego zapętlenia związanego z mvc. Piszę szkielet podpatrując gotowe rozwiązania. Ale gnębi mnie problem powiązania mapowania urli z wyborem widoku. Zrobiłem to dość tradycyjnie to znaczy url wygląda tak: /kontroler/akcja/klucz/wartość/... I wszystko działa frontKontroler zbiera żądanie i przenosi mnie do kontrolera akcji który wybiera akcję a ona ewentualnie korzysta z dalszych parametrów z urla. Akcje są metodami wywoływanymi przez obiekt kontrolera. Więc pisząc jakiegoś prostego cms'a projektuje wszystkie możliwe akcje i przydzielam im widoki. No i właśnie tutaj mam problem tak rozumując dostaje koszmarnie długi adres np: /kontroler_galeria/akcja_pokaz/klucz_co/wartość_id-galerii/ Przecież tylko dwa ostatnie elementy mogą być modyfikowane podczas aktualizacji strony - administrator tworzy sobie nową galerią, która ma przypisany id-galerii. Jak to skrócić? Ja wiem, że to kwestja "implementacji”, ale chciałbym się dowiedzieć jak to u was wygląda, jak radzicie sobie z aktualizacją - rozbudową - dodawaniem podstron? Gdzieś pewnie w moim rozumowaniu tkwi błąd ale kurcze nie wiem gdzie? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Ale w czym ci ten dlugi adres przeszkadza?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 20.02.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ale w czym ci ten dlugi adres przeszkadza? No niby w niczym, ale w czasach "przyjaznych urli" taka zbitka jest przerażająca poza tym nurtuje mnie jeszcze problem wyciągania informacji z modelu dla wyświetlanego widoku. Takie elementy strony jak title, keywords, description powinny być zapisane w bazie dla każdego widoku-strony, więc akcja musi zasysać informacje z modelu w zależności od tego czy są jakieś dodatkowe parametry w urlu czy nie (jak nie ma to domyślny widok z title,keywords itd, a jak są to odpowiednio dla wybranego id). Więc jak to trzymać w bazie jak powiązać żądanie z wyborem danych dla widoku? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
/kontroler_galeria/akcja_pokaz/klucz_co/wartość_id-galerii/
nie piszesz slow jak 'kontroler', 'akcja' i masz /galeria/pokaz/klucz_co/wartość_id-galerii/ potem (patrz Routes w Zend FW, RoR i chyba tez innych) mozesz zamienic /galeria/nazwa_galerii_galerii -> kotroler = galeria, akcja = pokaz, a po nazwie szukasz odpowiedniej galerii -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem tylko po co w tym URL znajdują się takie słowa jak kontroler, akcja, klucz... Przecież to nikomu się nie przyda. Jak usuniesz to url wygląda już ładniej:
/galeria/pokaz/id/2/ Możesz też się pozbyć tego "id" mapując kolejno elementy ścieżki na parametry. Musisz stworzyć tylko odpowiednią mapę do tego (bądź innego) schematu. /kontroler/akcja/1/2/3/... Gdzie mapujesz 1 => nazwa, 2 => coś innego itd... Wymagana jest kolejność odpowiednia, ale wtedy URL wygląda jeszcze lepiej. Dzięki temu możesz stworzyć URL w stylu: /galeria/pokaz/zdjecia_z_wakacji Tak jak to ma miejsce na stronach php.pl. -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 20.02.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
nie piszesz slow jak 'kontroler', 'akcja' i masz /galeria/pokaz/klucz_co/wartość_id-galerii/ Napisałem tak tylko dla jasności, oczywiście nie dodaję słów kontroler czy akcja ![]() mozesz zamienic /galeria/nazwa_galerii_galerii -> kotroler = galeria, akcja = pokaz, a po nazwie szukasz odpowiedniej galerii No właśnie jak to zamienić? Dlaczego akcja to pokaz a nie "nazwa_galerii_galerii"? Możesz też się pozbyć tego "id" mapując kolejno elementy ścieżki na parametry. Musisz stworzyć tylko odpowiednią mapę do tego (bądź innego) schematu. OK taki schemat skraca urla pomyślę nad tym, chociaż trochę boję się zachowania kolejności podczas generowania linków. A co do mapy, jakie informacje w niej trzymacie. Ja mam: id title keywords description parent - do tworzenia hierarchii, nawigacji tpl - do zasysania odpowiedniego szablonu Nie wiem czy nie mieszam tutaj kilku rzeczy, ewentualnie czy nie powinienem w takiej mapie trzymać jeszcze czegoś? ::EDIT:: dr_bonzo -> dziękuję!!! zadanie odrobiłem i teraz wiem że namieszałem ale mi głupio Jeszcze raz dziękuję Wszystkim Pozdrawiam Ten post edytował NorthPole 4.06.2007, 23:37:57 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:12 |