![]() ![]() |
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 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 2 Dołączył: 24.03.2009 Ostrzeżenie: (0%)
|
1. A co sądzisz o path enumaration? Czy to nie jest to samo (bo poniekąd wygląda to podobnie lecz nie posiada innych dodatkowych kolumn)
2. Przepraszam źle się wyraziłem, chodziło mi o to co później opisałeś 3. Jestem początkujący w ZF, w jaki sposób dodawać parametr/wartość/parametr/wartość?(podsójne paramtery, jak zrobić to dla dwóch parametrów) Bo zwykle generowałem je w widoku np. Kod <?php foreach ($this->articles as $artykul): ?> <tr><td><a href="<?php echo $this->url( array( 'action'=>'show', 'articles'=>$artykul->idarticles, ),'default')?>"><?php echo $artykul->title; ?></a> </td> </tr> <?php endforeach; ?> Ps. są jakieś inne metody generowania urli do akcji lub coś podobnego(inne metody zarządzania tego typu rzeczami)? |
|
|
|
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%)
|
Cytat - 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. Można też za pomocą Nested Tree:) Cytat 3. Jestem początkujący w ZF, w jaki sposób dodawać parametr/wartość/parametr/wartość?(podsójne paramtery, jak zrobić to dla dwóch parametrów) Bo zwykle generowałem je w widoku np. W tablicy podajesz dalej po prostu:
Ten post edytował melkorm 18.09.2012, 18:33:34 -------------------- |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 2 Dołączył: 24.03.2009 Ostrzeżenie: (0%)
|
Ok. Dziękuję
A co do Nested Tree - bardzo trudno Inserty wykonywać na niej i delety, więc raczej odpada Ktoś zna zastosowanie Nested Tree? Dla menu którego struktury się nie zmienia? Bo przecież jeśli chodzi o Zend_Navigation to sporo osób generuje to do xml'a - nie korzysta z DB więc teoretycznie zapytania (w moim przypadku) byłyby tylko wykorzystywane do tworzenia artykułów/nowych elementów menu Ten post edytował Gabrielx 18.09.2012, 22:56:14 |
|
|
|
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%)
|
Jak się tobie nie zmienia Nawigacja to xml/ini file i po sprawie
-------------------- |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 2 Dołączył: 24.03.2009 Ostrzeżenie: (0%)
|
Właśnie się zmienia
Czy tak jak wcześniej pisałłem, to dobry pomysł aby db było zależne od xml. Czyli usuwam z DB kategorie/menu = usuwa xml. Dlatego się pytałem o inne rozwiązania |
|
|
|
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%)
|
Zawsze możesz z bazy generować nawigację lub plik z nawigacją to nie jest jakiś większy problem
-------------------- |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 2 Dołączył: 24.03.2009 Ostrzeżenie: (0%)
|
Zawsze najprostrze rozwiązania są najlepsze.
Ten post edytował Gabrielx 19.09.2012, 23:16:10 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 03:27 |