Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 2 Dołączył: 24.03.2009 Ostrzeżenie: (0%)
|
Witam.
Pracuję obecnie nad stroną która będzie posiadała wiele pozycji menu (kategorii) oraz podmenu (podkategorii) np. +Menu ------submenu_1 ------submenu_2 -------------submenu_2.1 -------------submenu_2.2 -------------submenu_2.3 ------submenu_3 Pozycje menu można dodać przez panel administratora. Dodatkowo zamierzam aby wszystko było przetwarzane przez jeden kontroler. Widok miałby być dostosowywany względem typu (coś w stylu szablonów, czy to tekst, czy to grafika czy też grafika + text) Stwierdziłem też że bez sensu ograniczać typ artykułu (grafika, text) względem menu. Moje pytanie brzmi: 1. Jak opracować bazę danych dla kategorii? Np. artykuł artykuł by był podczepiony pod submenu_2.3 Zastanawiałem się nad takim rozwiązaniem: ____________________ |id|title |id_sub |1|Menu |null |2|submenu_1 |1 |3|submenu_1.1 |2.1 |4|submenu_1.2 |2.2 Lecz wówczas musiałbym sprawdzać czy submenu istnieje dla tej kategorii i jeśli tak to wówczas muszę sprawdzić które z kolei jest to submenu. id_sub byłoby zależne od id menu. Później zapisanie tego do navigation.xml byłoby problematyczne jak i usunięcie popzredniej kategorii i wstawienie nowej dla wstawiania tego poprzez panel administratorski.. 2. Druga kwestia to artykuły dla wybranej kategorii. Nie wyobrażam sobie że tworzę ~ 100 akcji (dla kategorii). W jaki sposób później manipulować URI przy wyświetlaniu? Nie za bardzo wiem jak później odczytać taki ciąg np. localhost/index/menu/o_nas/mapka. Lub bynajmniej odczytanie ostatniej wartości (mapka) Możliwe że nie zrozumiecie tego co chciałem przekazać, więc proszę się dopytywać jak coś. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Cytat Pracuję obecnie nad stroną która będzie posiadała wiele pozycji menu (kategorii) oraz podmenu (podkategorii) - polecam drzewa metodą IP (więcej znajdziesz w gugle na tą frazę), może to niezbyt wyrafinowane ale skuteczne - tak się robi bazę danych kategorii.Cytat Dodatkowo zamierzam aby wszystko było przetwarzane przez jeden kontroler. - wszystko czyli cała strona? To moim zdaniem ogromny błąd, nie warto próbować bo utkniesz na amen, gdy unikniesz problemów systemowych to dogoni Cię wydajność, warto pomyśleć o podziale aplikacji na kontrolery i akcje.Cytat 2. Druga kwestia to artykuły dla wybranej kategorii. Nie wyobrażam sobie że tworzę ~ 100 akcji (dla kategorii). W jaki sposób później manipulować URI przy wyświetlaniu? Nie za bardzo wiem jak później odczytać taki ciąg np. localhost/index/menu/o_nas/mapka. Lub bynajmniej odczytanie ostatniej wartości (mapka) Artykuły np. w postaci listy to jeden kontroler i jedna akcja (chyba, że przewidujesz wiele sposobów wyświetlania artykułów). Przykłady: Adres ma postać: moduł/kontroler/akcja/parametr_1/wartosc_1/parametr_2/wartosc_2 - przykładowy adres, jeśli wyłączono obsługę modułów to bez modułu, tylko sam kontroler i akcja Artykuł może mieć np. adres: localhost/artykuly/artykul/title/bardzo_fajny_artykul/id/123456789 - jeden artykuł, kontroler artykuly, akcja artykul, id=123456789 Kategoria: localhost/artykuly/kategoria/title/smiecie_i_rupiecie/id/23 - lista artykułów, kontroler artykuly, akcja kategoria, kategoria id=23 Oczywiście title nie jest niezbędny (id się liczy) ale istotny z punktu widzenia SEO |
|
|
|
Gabrielx [ZendFramework] Zend_Navigation a menu wielopoziomowe 17.09.2012, 16:55:03
Gabrielx 1. A co sądzisz o path enumaration? Czy to nie jes... 18.09.2012, 18:00:25
melkorm Cytat- polecam drzewa metodą IP (więcej znajdziesz... 18.09.2012, 18:30:43
Gabrielx Ok. Dziękuję
A co do Nested Tree - bardzo trudn... 18.09.2012, 22:54:38
melkorm Jak się tobie nie zmienia Nawigacja to xml/ini fil... 19.09.2012, 12:57:50
Gabrielx Właśnie się zmienia Oddaję tę stronę klientowi i ... 19.09.2012, 16:18:06
melkorm Zawsze możesz z bazy generować nawigację lub plik ... 19.09.2012, 18:33:46
Gabrielx Zawsze najprostrze rozwiązania są najlepsze. Za b... 19.09.2012, 23:14:17 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 22:39 |