![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy już istnieją takie pomysły, ale dzisiaj wpadł mi do głowy i przyjemny sposób na tworzenie stron internetowych. Rozbijamy stronę na kilka kawałków, np. nagłówek, treść itd, tworzymy tabelę w DB pt. np. PAGES i wbijamy odpowiednie teksty do odpowiednich pól w tabeli.
Następnie mógłbym utworzyć klasę Page, a każdy nowy jej egzemplarz jest tworzony w momencie kliknięcia linku do strony. No tak... tylko jak ustalić "poziom" strony. Załóżmy, że mamy taki układ plików: Kod ./ | | ---index.php ---articles/ | index.php W folderze articles nie ma stron z artykułami, bo je przeniosłem do bazy przyp. Zaczynają mi się nasuwać pewne pytania: 1. W bazie można by oczywiście mieć takie pole jak kategoria i w ten sposób trzymać WSZYSTKIE strony w jednej tabeli. Tylko czy przy większej liczbie stron nie zrobi się bałagan? 2. W jaki sposób odnaleźć hierarchię strony? Chodzi mi konkretnie o działanie głównie paska pt. "Jesteś tutaj: strona_główna.pl"->strona->podstrona". Czy po prostu w polu tabeli o nazwie kategoria pisać te strona->podstrona? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Jemu bardziej o CMS-a chodzi. Co prawda nie jest to odkrywcze, bo chyba dziesiątki, jeśli nie tysiące osób już dawno na to wpadły i istnieje wiele CMS-ów działających właśnie w ten sposób, ale działają one w oparciu o drzewa przechowujące strukturę strony, co nie wyklucza jednocześnie umieszczenia części danych gdzie indziej.
Odnośnie samych drzew, ja osobiście wolę algorytm przechodzenia zmodyfikowaną metodą preorder, zwany też często nested sets (zagnieżdżone zbiory). Oferuje te same możliwości, co drzewo depesza + parę dodatkowych (np. zliczanie ilości potomków sprowadza się do wykonania jednej operacji matematycznej). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 17:43 |