DaSki
17.09.2009, 18:55:47
Witam
Od kilku dni zacząłem tworzyć prostego CMS'a i zatrzymałem się na systemie modułów. Bo nie wiem w jaki sposób to rozwiązać czyli od momentu wrzucenia folderu z tym modułem aż po pokazanie go użytkownikowi.
1. Po wrzuceniu modułu/pluginu do odpowiedniego folderu to w jaki sposób miałby on zostać zainstalowany? //tworzyć jeszcze dodatkowy plik w tym katalogu z modułem o jego konfiguracji (czyli jakie tabele dodać do MySQL, jaka nazwa moduł, itp)
2. Czy ta instalacja polegała by na podaniu nazwy tego katalogu i klikniecie guziku np. "dodaj moduł" czy istnieje jakiś inny sposób na takie coś?
3.A gdy już sie zainstaluje te moduł to po przez jaki adres najlepiej sie do niego odwoływać? //tak jak jest w Joomli czyli
http://www.strona.pl?index.php?modul=1 czy index.php?modul=news
Dziękuje od razu osobom, które udzielą mi pomocy w sprawie tych modułów
Crozin
17.09.2009, 20:40:23
Na Pro masz podobny wątek - przeczytaj, bo z tego co pamiętam trochę wartościowych postów tam jest.
kamillo1888
17.09.2009, 22:02:37
Warto takze poczytać o wzorcach - we wiki MVC lub na tym forum takze jest dużo. Zobacz jak to jest rozwiazane we framewrokach symfony i Zend czasami spojrzenie na sam układ katalogow daje wiele, a pomysł przychodzi łatwo... pzdr.
marcio
17.09.2009, 22:47:24
Modul i plugin co przez to rozumiesz?Bo to nie to samo.
ja to robie po swojemu tak troche dziwnie ale wedlug mnie bardzo fajnie.
Mam glowny kontroler np Home a jego widok wyglada tak:
A w bazie mam np tabele komponent i kolumny place i name gdzie w place trzymam w ktoew miejsce ma byc zaladowany komponent lub plugin a w name jego nazwe.
Po czym laduje wszystkie komponenty lub ich pluginy w zaleznosci od tego czy one istnieja.
Ogolnie jest to troche skomplikowane i w ogole na jednego posta i tym bardziej bez kodu.
DaSki
18.09.2009, 12:00:26
Chodzi mi dokładniej o takie moduły typu galeria, artykuły, news itp. ze po wrzuceniu w katalog są one dostępne na stronie dla użytkownika
marcio
18.09.2009, 12:47:26
Nom a myslisz ze o co mi chodzilo.
Riklaunim
18.09.2009, 16:34:15
Cytat(DamianLii @ 18.09.2009, 13:00:26 )

Chodzi mi dokładniej o takie moduły typu galeria, artykuły, news itp. ze po wrzuceniu w katalog są one dostępne na stronie dla użytkownika
Zazwyczaj trzeba je jeszcze aktywować (wykonać odpowiednie SQLki, podać czasami dodatkowe ustawienia). Nie ma na to "funkcji", trzeba samemu zaimplementować taki algorytm/funkcjonalność. Jeżeli nie wiesz od czego zacząć - zacznij od podstaw (bazy danych, relacje) i dobrych narzędzi (np. frameworki, CMF itp.)
DaSki
18.09.2009, 16:51:21
Co do MySQL to nie jest problem chodzi mi tylko w jaki sposób najlepiej by było uzytkownikowi zainstalowac taki modułu i jak dla zwykłego uzytkownika wejść na niego, bo każdy wie ze gdy wpisze sie adres www.strona.pl/forum to napewno dostanie sie na forum a ja chce właśnie zrobic tak by taki user po wpisaniu adresu wszedł na taka strone bo można bawić sie z .htaccess ale duży jest pisanie gdy doda się kolejny moduł.
Skrypt w PHP/MySQL i w kliku innych językach to nie problem chodzi mi tu zrobić to żeby było to łatwe dla amatora CMS'ow.
Myślałem nad takim sposobem jak jest w Joomli czyli adres strony i tam jest w adresie nazwa modułu jaki ma być wczytany.
Lub stworzyć jaki plik w folderze głównym z nazwą modułu a w nim było by nazwa moduły jaki ma być wczytany przez include lub require_once ale to jak by było dużo modułów to byłby syf w tym katalogu
thek
18.09.2009, 21:22:06
Tyle, że zauważ, iż zazwyczaj nowy moduł/plugin to konieczność utworzenia nowych katalogów, tabel w bazie, rozszerzenie już istniejących. Dlatego ja na miejscu twórcy CMS dodałbym pewien panel, który informowałby mnie o owych dodatkach, gotowych do instalacji. Dopiero po uruchomieniu skryptu instalacyjnego dostawałbym panel dodatku pośród swoich opcji administracyjnych do wyboru i ustawiania. Dopiero od tego momentu mógłbym go uczynić widocznym jako podstrona dla userów czy część dodatkowa już istniejącego rozwiązania. Innymi słowy po instalacji pewne elementy mogły by być przez zarządzającego CMS uwidaczniane dla innych jako panel na stronie lub link w module nawigacji czy jakkolwiek inaczej.
potreb
18.09.2009, 22:24:16
Cytat(DamianLii @ 17.09.2009, 18:55:47 )

Witam
Od kilku dni zacząłem tworzyć prostego CMS'a i zatrzymałem się na systemie modułów. Bo nie wiem w jaki sposób to rozwiązać czyli od momentu wrzucenia folderu z tym modułem aż po pokazanie go użytkownikowi.
Panie Damianie, skoro tworzysz system "CMS" po polsku "SZT" zapewne miałeś już styczność z jakimiś gotowcami. Zasada ogólnie podobna folder np artów do katalogu "plugins", z panelu admina robisz instalację tabel i aktywujesz plugin. Następnie podpinasz link do niego.
W bazie musisz mieć gdzieś info o pluginie dodane, żeby wiedzieć czy jest zainstalowany czy nie.
Jeżeli chodzi o twoje AD 3.
Dlaczego taki link? Po prostu dir/gallery.php
DaSki
19.09.2009, 08:48:10
Zdecydowałem się na adres typu: www.strona.pl/index.php?modul=news bo jak by zrobił typu www.strona.pl/modul/news/modul.php to moze i dobrze by było ale załóżmy ze mamy kilka modułów newsów (np. news w PHP/HTML, drugi news w AJAX/PHP/HTML) to źle by wyglądało jak byśmmy wpisali www.strona.pl/modul/news2/modul.php coś tego typu a jak da sie ten pierwszy sposób to będzie można w PA wybrać który moduł newsów jest włączony.
Co do instalacji zrobię coś typu że mam dodatkowy plik w każdym module a w nim jakie tabele trzeba dodać itp.
Riklaunim
19.09.2009, 11:24:20
A możesz napisać po co dwa moduły newsów na raz zamiast jednego porządnego? Co do postaci linków to w PHP masz od upiększania mod_rewrite.
cojack
19.09.2009, 18:36:46
Damian a coś takiego jak Kategorie to widziałeś kiedyś?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.