Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zaprojektowanie bazy CMSa z dodatkami
deha21
post 11.10.2009, 11:42:39
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Witam,
Mam mały problem z zaprojektowaniem bazy pod CMSa. Generalnie chodzi o to, że mam np. newsy, artykuły i strony. W każdym z tych działów mogę do np. newsa dodać jakiś dodatek multimedialny. Multimedia będą miały oddzielne tabele - audio, video, gallery. Myślę, że aby to połączyć można zrobić nową tabelę powiedzmy "addon" gdzie:
  1. ADDON
  2.  
  3. id | category | addonid | parentcategory | parentid | position
  4.  
  5. // category - kategoria: audio, video, gallery
  6. // addonid - czyli id konkretnego multimedia z odpowiedniej kategorii, np. tabela audio>rekord 11
  7. // parentcategory - czyli np. newsy lub artykuły
  8. // parentid - czyli np. News o ID 45
  9. // position - pozycja potrzebna do ustalania kolejności wyświetlania, np. w newsie 45


Myślałem też o czymś takim, żeby w kategoriach news, artykuly i strony zrobić pole ADDON i do niego wpisywać numery ID z tabeli ADDON (wtedy byla by bez pól parentcategory i parentid). Chciałbym wpisywać ID po przecinku. Zastanawiam się czy nie będzie wtedy problemu żeby potem je wywołać na zasadzie:
Jeśli w polu ADDON jest coś to szukaj w tabeli ADDON. Jeśli to audio to szukaj tabelę AUDIO i wyświetlaj odpowiedni ID, jeśli video to... itd... Wyświetlaj ORDER BY position.

Wydaje mi się, że drugi rozwiązanie byłoby lepsze ale nie jestem do końca pewien czy dam rade tak zrobić bo na razie wydaje mi się to skomplikowane winksmiley.jpg Co proponujecie?

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Pilsener
post 14.10.2009, 10:00:49
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


"dodatek multimedialny" - czyli konkretnie co? Chodzi o wstawienie filmu do treści newsa? A nie da się tego zrobić edytorem wysig, a plik po prostu uploadować lub podać link do niego (jeśli jest na zewnętrznym serwerze)? Jeden news czy artykuł to jeden rekord w bazie, chyba, że przewidujesz dzielenie na strony (wtedy wygodnie jest trzymać w bazie jedną stronę jako jeden rekord)

I nie wpisuje się ID po przecinku, moim zdaniem to jakaś profanacja relacyjnych baz danych. Relacje wiele do wielu rozwiązuje się poprzez stworzenie tabeli łączącej, np. masz dwie tabele: style oraz artykuły. Chcesz przypisać jednemu artykułowi wiele styli, więc tworzysz tabelę:

id_artykulu | id_stylu
-------------------------
1 | 2
1 | 3
2 | 2
2 | 3
3 | 4

Z całej reszty też niewiele rozumiem, np. ta kolejność wyświetlania - a newsy nie wyświetla się od najnowszego do najstarszego? Ile podobnych systemów już zrobiłeś?
Go to the top of the page
+Quote Post
deha21
post 14.10.2009, 13:45:25
Post #3





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Już precyzuję winksmiley.jpg

Dodatek multimedialny to będzie video/audio/galeria dołączana do treści newsa. Chodzi o to, że pod treścią newsa można wyświetlić np. video i galerie. Przy czym najpierw chciałbym video a potem galerię więc potrzebuję mieć możliwość ustawienia pozycji.

Dodatki te będą też działały jako osobne strony z filmami/audio/galeriami dlatego myślę, że ładowanie ich za pomocą WYSIWYG nie będzie zbyt komfortowe. Chyba, że ktoś mi pomoże napisać coś takiego że stworzę dodatek do FCKEditor który umoliwi mi wybieranie filmów z mojej bazy winksmiley.jpg

Co do wrzucania ID po przecinku to dałem taką propozycję, akurat mi się nasunęła. Nigdy tego nie stosowałem i nie wiem czy jest to poprawne. A więc skoro nie jest to a kysz z tym winksmiley.jpg

Ile podobnych systemów napisałem? Generalnie piszę czwarty, ale pierwsze dwa to żal. Trzeci skończyłem nie dawno, czasie jego pisania wiele się nauczyłem i stwierdziłem, że źle się do niego zabrałem więc napiszę nowy. Mozna powiedzieć, że ten nad którym teraz pracuje będzie pierwszym porządnie wykonanym CMSem (w takim sensie, że z wielu rzeczy zdaje sobie sprawę i staram się je wykonać jak najlepiej umiem... bo uważam siebie za początkującego).


--------------------
Go to the top of the page
+Quote Post

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: 18.06.2025 - 19:56