sebek222
22.04.2014, 11:50:57
Witam, zaczynam pisać we frameworku CodeIgniter i nie wiem jak można załączyć moduły w szablonie. Np. jeżeli chce mieć ankiete(sonde) w prawej części strony na każdej podstronie to w jaki sposób mógłbym ją wyświetlać ? Załączenie samego widoku nie rozwiązuje problemu bo nie widzę sensu w widoku pisać zapytania do bazy itp... A przepisywać zapytanie do każdego kontrolera z którego korzystam mija się z celem. Wydaje mi się że jest to dość podstawowy problem i dziwi mnie fakt że nie znalazłem rozwiązania w tak popularnym frameworku. W samym PHP bez stosowania zasad MVC zrobiłbym include z danym modułem ankiety, a tutaj nie bardzo wiem jak sobie z tym poradzić.
Proszę o pomoc w rozwiązaniu problemu, zapewne o czymś nie wiem.
Pozdrawiam
jacobson
22.04.2014, 12:09:22
Mozesz np stworzyc kontroler nadrzędny, po ktorym będą dziedziczyć kontrolery, w której będzie występowała ta sonda, możesz stworzyć biblioteke i w widoku po prostu do odpowiedniej zmiennej przypisac wynik funkcji z biblioteki i przekazac do widoku.
sebek222
22.04.2014, 12:29:42
Dziedziczenie z klasy nadrzędnej wydaje mi się w tym przypadku mało praktyczne, bo w niektórych przypadkach będę chciał załączyć przykładową ankiete a w niektórych nie, a wolałbym nie tworzyć dla każdej kombinacji osobnej klasy nadrzędnej. Brakuje mi tutaj modułowości. Biblioteka wydaje mi sie dobrym rozwiązaniem ale chciałbym stosowac się do pełnego wzorca MVC, tzn zapytania umieszczać w modelu. I dopiero taką ankiete rozbitą na model view controller zamieszczać w głównym szablonie. Jest to dla mnie dziwne że framework nie daje takiej możliwości.
jacobson
22.04.2014, 12:56:57
Ewentualnie zastanow sie np nad rozwiazaniem HMVC, podziel sobie projekt na moduły. Tworzac np 2 kontrolery nadrzedne dziedziczace po CI_Controller to wcale nie tak duzo
szok
22.04.2014, 17:44:36
To powinno Ci pomóc
http://www.codeigniter.org.pl/rozszerzenie-hmvc/Odnośnie wstawienia ankiety w wybrane miejsce w szablonie, to zobacz CodeIgniter Layout + do samej ankiety napisz sobie helper.
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.