суббота, 23 октября 2010 г.

Конкретные примеры JModel

Ну что же, изучив внутренности класса JModel, мы можем перейти к изучению конкретных примеров. Я буду брать их из книги Хаген Графа(она мне не особо нравится, но примеры кода сойдут и оттуда, они там не слишком громоздкие)
/components/com_название/models/название.php

defined('_JEXEC') ordie();
jimport('joomla.application.component.model');
class AutoModelAuto extends JModel
{
function _getAutoQuery( &$options )
{
$db = JFactory::getDBO();
$id = @$options['id'];
$select = 'a.*';
$from = '#_auto AS a';
$wheres[] = 'a.published = 1';
$query = "SELECT" . $select .
"\n FROM " . $from .
"\n WHERE " . implode( "\n AND ", $wheres );
return $query;
}
function getAutoList( $options=array() )
{
$query = $this >_getAutoQuery( $options );
$result = $this >_getList( $query );
return @$result;
}
}

Объявлено всего два метода. Один Создаёт запрос, другой его выполняет и возвращает массив с результатами.. что может быть проще? Нужно несколько разных запросов в компоненте? создайте несколько моделей, ничего сложнее не будет. За выбор модели отвечает контроллер.

Комментариев нет:

Отправить комментарий