![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 4 Dołączył: 5.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym pod Kohaną zrobić prostego CMSa, nie jestem tylko pewny czy dobrze zaplanowałem kontrolery. Pomysł jest taki:
application/controllers/site.php - rozszerza Template_Controller'a, ustawia widok strony głównej (menu, stopka, itd.) Dla każdej podstrony robię osobny kontroler, który rozszerza Site_Controller'a i ustawia widok podstrony wstawiony gdzieś w środku widoku strony głównej. application/controllers/admin.php - rozszerza Template_Controller'a, ustawia widok panelu administracyjnego. Do katalogu application/controllers/admin wrzucam kontrolery odpowiadające za dodawanie newsów, userów itd, każdy rozszerza Admin_Controller'a. To powinno działać tak: domena.pl/ - strona główna, czyli to co jest w Site_Controllerze (application/controllers/site.php) domena.pl/kontakt - jakaś podstrona, Kontakt_Controller (application/controllers/kontakt.php) domena.pl/admin - strona główna panelu, Admin_Controller (application/controllers/admin.php) domena.pl/admin/news - zarządzanie newsami, News_Controller (application/controllers/admin/news.php) Czy to jest dobre rozwiązanie, czy powinno się to robić jakoś inaczej? Nie mam doświadczenia we frameworkach, więc pytam żeby potem nie przepisywać połowy kodu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Może wszystkie kontrolery i widoki panelu administracyjnego powinny być zrobione jako moduł albo leżeć w katalogu system? Panel będzie uniwersalny, dla wielu różnych stron, ale w 90% wszędzie taki sam - to które funkcje panelu są włączone będzie zapisane jedynie w bazie danych. Może ktoś robił coś podobnego pod Kohaną i podzieli się doświadczeniami? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Z góry dzięki za wszystkie rady (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 4 Dołączył: 6.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Do katalogu application/controllers/admin wrzucam kontrolery odpowiadające za dodawanie newsów, userów itd, każdy rozszerza Admin_Controller'a. Hmm a nie lepiej po prostu napisać kontrolera 'Admin' a funkcje w nim nazwać add_user, del_user etc. Dzięki Kohanie uzyskasz wtedy bardzo ładne i wygodne linki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Cytat rozszerza Template_Controller'a Tworzyłeś/używałeś jakiegoś Template Controllera? Dla mnie najwygodniejsze się wydawało rozwiązanie typu: Kod $view = new View('template'); $view->header = new View('theme/header'); $view->content = new View('theme/addfile'); $view->footer = new View('theme/footer'); $view->content->result=$result; $view->content->name=$name; Jeśli tworzysz coś dość prostego - może wystarczy zaimplementować takie proste rozwiązanie? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . template.php Kod <?php echo $header; ?> <?php echo $content; ?> <?php echo $footer; ?> Przykładowy addfile.php [w folderze views/theme/] Kod Rezultat:<?=$result ?><br /> Nazwat:<?=$name ?><br /> Zastosowanie tego bardzo skróciło u mnie learning curve Kohany (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Cytat Czy zawartość katalogu to jest coś co powinno siedzieć w modelu? Hmm... Imho model odpowiada m.in. za pobieranie danych - a to jest pobieranie danych na temat zawartości katalogu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Cytat Dobrze kombinuję? Tak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Co do Ajaxa - jeśli jeszcze nie wybrałeś konkretnej klasy do jego obsługi polecam Xajax - w necie powinieneś znaleźć instrukcje jego zaimplementowania w Kohanie. Cytat Może ktoś robił coś podobnego pod Kohaną i podzieli się doświadczeniami? tongue.gif Tworzyłem prosty panel administracyjny. Do np. usuwania komentarza napisałem sobie funkcję w module [jeśli dobrze pamiętam] del_com($tutajargumenty) i w ramach potrzeby wywoływałem tą funkcję po prostu z kontrolera newsa bądź kontrolera admin. Cytat wstawia dane do widoku To już pewnie szczegół ale... Jeśli dobrze zrozumiałem planujesz wysłać poprzez Ajax od razu otoczone HTML'em dane - rozwiązanie takie jest nieco prostsze niemniej jeśli oczekujesz wysokiej szybkości/odwiedzalności może lepiej wysłać poprzez Ajax same dane a następnie poukładać je na stronie już za pomocą samego JS [nawiązując do zasady wykorzystuj moc obliczeniową komputera usera jak tylko możesz ;] ]. Serwer powinien nieco na tym odciążyć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Ten post edytował Firez 10.07.2008, 21:42:36 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 18:57 |