PDA

Zobacz pełną wersję : Przesyłanie parametru z widoku do modelu



Robster
26-04-2012, 18:57
Hej,

Znowu mam problem :D Chciałbym przesłać zmienną z widoku do modelu, ale nie wiem jak.
Mam cuś takiego:

Model:

public function getColumnRow($szukana, $tabela, $kolumna) {
/*
** Pobieranie komórek z pojedynczej kolumny. Parametry:
** $szukana - szukane wyrażenie
** $tabela - przeszukiwana tabela
** $kolumna - index koluny do pobrania
*/
$db =& JFactory::getDBO();
$query = 'SELECT ' .$szukana. 'FROM ' .$db->getPrefix().$tabela;
$db->setQuery($query);
return $db->loadResultArray($kolumna);

Widok:

$getColumnRow = $model->getColumnRow('*','kategorie',$kolumna);
$this->assignRef('getColumnRow', $getColumnRow);

I teraz chciałbym wywoływać funkcję $getColumnRow z parametrem $kolumna zależnym od tego jaką liczbę wstawię w szablonie.
Przykładowo zmienną $i w szablonie będzie zmieniała swoją wartość w pętli i chciałbym mieć możliwość wyświetlenia rezultatów funkcji $getColumnRow z kolejnymi numerami indeksu.

danieladrianka
26-04-2012, 20:04
nie jestem pewny ale chyba brakuje ci linijki z tym ;):

$model = &$this->getModel();
czyli powinno być:

$model = &$this->getModel();
$getColumnRow = $model->getColumnRow('*','kategorie',$kolumna);
$this->assignRef('getColumnRow', $getColumnRow);

chyba że się mylę ...:)

Robster
26-04-2012, 20:42
@danieladrianka (http://forum.joomla.pl/member.php?324-danieladrianka) mam tą linijkę, tylko wyżej :) I nie o to chodzi :) Chcę wiedzieć, jak przekazać parametr z szablonu komponentu, do widoku.

Obecnie mogę tylko wywoływać funkcje, z parametrami zadanymi im w widoku, a chciałbym móc je wywoływać z parametrami, które zadeklaruję w szablonie. NIe wiem czy wystarczająco jasno się wyraziłem.

Po prostu funkcja przedstawiona wyżej, pobiera jedną kolumnę z tabeli. Parametr $kolumna określa, która kolumna ma to być. Na chwilę obecną mogę tylko na stałe w widoku zdefiniować numer tej kolumny, a chciałbym by wyświetlało w szablonie, kolejne kolumny, zależnie od tego jaki aktualnie będzie licznik.

danieladrianka
26-04-2012, 22:31
czyli chcesz pobrać dane z szablonu do widoku?
zwykle to widok tworzy szablon a nie na odwrót ;)
nie jestem w tym za dobry i też ciągle się uczę ale gdzieś mi się obiło że pobrac dane z szablonu mozna za pomocą helpera, a z niego przekazac do kontrolera i dalej widoku
ale nie jestem pewnien czy to to
Pozatym ciężko coś zrobić przynajmniej mi jak się nie widzi całości tego co się chce dokładnie osiągnąć ;)

Robster
26-04-2012, 22:40
Dla mnie na razie, to jest ciężki orzech do zgryzienia. Wiem, że zmienne do modelu można przesyłać linkami w postaci task'ów. Ale co jeśli mam funkcję, której parametr nie jest przesyłany linkiem?

Jak czytałem o MVC, to schemat sugerował, że informacje mogą płynąć w obie strony. Bo na dobrą sprawę, po co mi parametry w funkcjach, skoro i tak muszę funkcję ze swojego przykładu powielić, tyle razy ile mam kolumn w tabeli i po kolei wywoływać je w widoku i przesyłać do szablonu.
Na pewno tak nie jest, tylko czegoś nie widzę/rozumiem :D