![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%)
|
Wszystko ładnie pięknie idzie mi w kohana php, tylko teraz mam problem jak tworzyć odnośniki. Może wstawię model, widok i kontroler.
Model:
Widok:
Oraz kontroler:
I skrypt działa w taki sposób, że pobiera dane z bazy, nazwy programów i teraz chciałbym aby po kliknięciu w odnośnik(jak powinien on wyglądać?) wyświetliło wszystko z bazy o klikniętym programie. Zdaję sobie sprawę że będę musiał utworzyć jeszcze jeden model, który będzie odpowiedzialny za pobranie danego programu. Ten post edytował ExPlOiT 5.06.2009, 11:31:52 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 19 Dołączył: 2.08.2007 Ostrzeżenie: (0%)
|
Hmm coś pomieszałeś. Czemu zamiast w kontrolerze pobierać dane z modelu i je przekazywać do widoku, uruchamiasz model w widoku?
Przekaż sobie tablice zawierająca id i słowo do widoku (to powinno być w kontrolerze). I tam poprzez jakąś pętle wyświetlaj sobie linki, albo ręcznie przez html, albo poprzez helper url::anchor. Ten post edytował kbsucha 5.06.2009, 12:15:00 |
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Poza tym nie musisz pobierać instacji połączenia z bazą za każdym razem:
możesz z powodzeniem zastąpić:
Ponadto osobiście polecałbym Ci korzystanie z query buildera - ma kilka błędów i ograniczeń ale ogólnie staje się bardzo przydatny szczególnie w sytuacji dynamicznego generowania zapytań. W Twoim przypadku nie jest to konieczne ale wg mnie dobrze jest korzystać ze wszystkich dobrodziejstw, jakie daje nam Kohana. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%)
|
Już sobie poradziłem, wystarczyło stworzyć w modelu kolejną funkcje, czyli w moim wypadku:
A w modelu kategorie, zmienić forme linku na
A później to już wiadomo co i jak. Cytat Poza tym nie musisz pobierać instacji połączenia z bazą za każdym razem: Tego to nie wiedziałem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Cytat Hmm coś pomieszałeś. Czemu zamiast w kontrolerze pobierać dane z modelu i je przekazywać do widoku, uruchamiasz model w widoku? Dokładnie, pomieszałem trochę ale dałem rade (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował ExPlOiT 5.06.2009, 21:37:37 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%)
|
łooooo
dlaczego tak to rozumujesz? poczytaj więcej o MVC. html wyświetlaj w widoku dane pobieraj w modelu w kontrolerze pobieraj dane z modelu, wstawiaj je do widoku. w modelu możesz mieć takie metody jak: get_all, get_one - czyli pobieranie wszystkich elementów i pobieranie tylko jednego elementu. w kontrolerze w zależności od tego co masz w URL pobieraj albo tylko jeden element, albo wszystkie elementy. również w zależności od tego co masz w URL wyświetlaj odpowiedni widok - albo ze wszystkimi wpisami, albo tylko z jednym. pozdrawiam |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%)
|
Mam taki kontroler:
Widok:
Model:
I chodzi mi o to, aby ktoś życzliwy pokazał mi jak to powinno wyglądać zgodnie z architekturą MVC, bo podejrzewam że mój kod nie jest z MVC zgodny. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 10 Dołączył: 14.10.2008 Skąd: 127.0.0.1 Ostrzeżenie: (0%)
|
Witaj.
Podstawa: żadnych ech w modelach i kontrolerach (no, chyba, że jedynie w kontrolerze jedno echo za wyświetlenie zrenderowanego widoku odpowiedzialne (echo $view -> render(FALSE);)). Przepisałem Twój kod po swojemu, mam nadzieję, że nic nie zgubiłem i nigdzie się nie pomyliłem. Wyszły mi 4 plik, wszystkie opisane poniżej:
Edit: @down: Rzeczywiście, mój błąd (tak to jest jak coś się kopiuje (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ). Już poprawiłem. Edit: Wkurzające forum, zamienia html na bbc ;/ Ten post edytował Villentre 14.06.2009, 00:46:50 |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%)
|
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%)
|
Dzięki, teraz już wiem o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował ExPlOiT 14.06.2009, 11:40:34 |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Ja ze swojej strony miałbym jeszcze uwagi odnośnie widoków. Tworzenie ich w "czystym" PHP jest moim zdaniem nieeleganckie. Zdecydowanie lepiej użyć do tego "szablonów" czyli przejść z HTML do PHP i na odwót tak, jak to zostało pokazane w dokumentacji.
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%)
|
Wstawiłem ten kod co Villentre podał i wywala mi błąd:
Kod Fatal error: Call to a member function _kohana_load_view() on a non-object in C:\wamp\www\kohana\system\libraries\View.php on line 272 Już sobie poradziłem, brakowało parent::contruct(); Teraz już wiem, jak projektować aplikacje zgodne z MVC (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował ExPlOiT 14.06.2009, 23:46:27 |
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 17:21 |