michalkopyta
07-07-2010, 15:09
Cześć,
Mam chyba pewien problem ze zrozumieniem Joomlowego MVC. Na podstawie przykładu z dokumentacji próbuję sklecić sobie bardzo prostą funkcję w kontrolerze:
function display() {
$post = JRequest::get('post');
$model = &$this->getModel();
$model->calculate();
print "Profit con: ".$model->getProfit();
parent::display();
}Pole profit modelu jest ustawiane w funkcji calculate. Sprawdziłem, że funkcja ustawia profit prawidłowo i wyświetla się on prawidłowo.
Odpowiedni fragment pliku view wygląda tak:
function display($tpl = null) {
$model = &$this->getModel();
print "Profit view: ".$model->getProfit();
parent::display($tpl);
}Po wywołaniu strony dostaję:
Profit con: 23
Profit view: <null>Czyli w view profit nie wyświetla się prawidłowo (ma wartość null). Wydawało mi się, że powinien mieć on taką samą wartość, jaka ustawiona jest w kontrolerze (?).
Na wszelki wypadek zamieszczę jeszcze fragment modelu. Może tutaj coś przekombinowałem?
class MyModelModelMyModel extends JModel
{
var $_profit = null;
function getProfit() {
return $this->_profit;
}
function calculate() {
$this->_profit = 23;
}
}
Byłbym wdzięczny za wskazanie błędu.
Pozdrawiam,
Michał
Mam chyba pewien problem ze zrozumieniem Joomlowego MVC. Na podstawie przykładu z dokumentacji próbuję sklecić sobie bardzo prostą funkcję w kontrolerze:
function display() {
$post = JRequest::get('post');
$model = &$this->getModel();
$model->calculate();
print "Profit con: ".$model->getProfit();
parent::display();
}Pole profit modelu jest ustawiane w funkcji calculate. Sprawdziłem, że funkcja ustawia profit prawidłowo i wyświetla się on prawidłowo.
Odpowiedni fragment pliku view wygląda tak:
function display($tpl = null) {
$model = &$this->getModel();
print "Profit view: ".$model->getProfit();
parent::display($tpl);
}Po wywołaniu strony dostaję:
Profit con: 23
Profit view: <null>Czyli w view profit nie wyświetla się prawidłowo (ma wartość null). Wydawało mi się, że powinien mieć on taką samą wartość, jaka ustawiona jest w kontrolerze (?).
Na wszelki wypadek zamieszczę jeszcze fragment modelu. Może tutaj coś przekombinowałem?
class MyModelModelMyModel extends JModel
{
var $_profit = null;
function getProfit() {
return $this->_profit;
}
function calculate() {
$this->_profit = 23;
}
}
Byłbym wdzięczny za wskazanie błędu.
Pozdrawiam,
Michał