Home :: Artykuły :: Kurs pisania komponentów dla Joomla 1.5 [MVC] :: Lekcja 14 – backend cz 3.

Logowanie



Dziękuję za wszelkie dotacje.

Kwota: 

Lekcja 14 – backend cz 3.
Wpisany przez Wojciech Romanek   
piątek, 06 lutego 2009 20:30

W poprzednim artykule wspomniałem tylko o tym że, za pomocą przycisków czy też pól jakie wyświetlają stan opublikowany/nieopublikowany jesteśmy w stanie w bardzo prosty sposób zmieniać stan danych rekordów w tabeli.

Na początek przedstawię kod:

function publish()
{
  global $option;
  $cid = JRequest::getVar( 'cid', array(), '', 'array');
  if($this->_task == 'publish')//1
  {
    $publish = 1;
  }
  else
  {
    $publish = 0;
  }
  $tabela =& JTable::getInstance('witaj','table');
  $tabela->publish($cid, $publish);//2
  $this->setRedirect('index.php?option='.$option);
}

Jest to kod funkcji publish - jeśli czytałeś uważnie poprzednie części kursu napewno domyślisz się że kod ten należy w stawić w kontrolerze naszego komponentu. Wygenerowane przez nas przyciski wysyłają task do kontrolera w zależności od stanu w jakim się znajdują. Jeśli stan to published to zostanie wysłany stan unpublished w przeciwnym wypadku na odwrót. Sprawdzanie jaki został wysłany task jest zrealizowane w linii oznaczonej w komentarzu jako 1. Później w miejscu oznaczonym jako 2 wywoływana jest metoda publish która ustawia stan danych rekordów na taki jak wartość zmiennej $publish: 1 - opublikowany, 0 - nieopublikowany. Pozostała część kodu powinna być jasna. Jeśli nie jest to odsyłam do wcześniejszych artykułów. Artykuł może napisany trochę chaotycznie ale musicie mnie zrozumieć... - sesja.