Прошу помощи у программистов.
Пытаюсь написать свой компонент.У же совсем запарился с этим Joomla API.
получаю вот такую ошибку
Fatal error: Call to a member function set() on a non-object in Z:\home\joomtest15\www\libraries\joomla\application\component\model.php on line 144
Не могу понять изза чего.Понимаю, что ошибка не в 144 строке библиотеки, но где у меня(кроме ДНК),не въеду.
Вот контроллер
class ScenbasesController extends JController
{
/**
* Конструктор(Регистрация дополнительных задач)
*/
function __construct()
{
parent::__construct();
//Регистрация дополнительных задач
//первый параметр задача, второй параметр метод для выполнения задачи
$this->registerTask('add','display');
$this->registerTask( 'edit' , 'display' );
$this->registerTask( 'apply', 'save' );
}
/**
* Метод для отображения вида
*/
function display()
{
switch($this->getTask())
{
case 'add' :
{ //указываем представление
JRequest::setVar('view','scenbase');
//и макет для загрузки
JRequest::setVar('layout','form');
//скроем главное меню
JRequest::setVar('hidemainmenu',1);
} break;
case 'edit' :
{
//указываем представление
JRequest::setVar('view','scenbase');
//и макет для загрузки
JRequest::setVar('layout','form');
//скроем главное меню
JRequest::setVar('hidemainmenu',1);
} break;
}
parent::display();
}
}
Вот вид
class scenbasesViewScenbase extends JView
{
/**
* Метод для отображения вида
*/
function display($tpl=null)
{
//получаем данные
$scenary=$this->get('getData','scenbase');
//если айди сценария меньше еденицы
//значит новый сценарий
$isNew = ($scenary->id<1);
$text=$isNew?JText::_('New'):JText::_('Edit');
JToolBarHelper::title(JText::_('Сценарий').':<small><small>['.$text.']</small></small>');
JToolBarHelper::save();
if($isNew)
{
//добавляем кнопку отмена
JToolBarHelper::cancel();
}
else
{
//для существующих записей кнопка переименовывается на close
JToolBarHelper::cancel('cancel','Close');
}
$this->assignRef('scenary',$scenary);
parent::display($tpl);
}
}
Вот модель
class scenbasesModelScenbase extends Jmodel
{
var $_id;//идентификатор записи
var $_data;//данные
function __construct()
{
/* Конструктор поучает первое значение из cid и присваивает его id */
$array=JRequest::getVar('cid',0,'','array');
//Устанавливаем id
$this->setId((int)$array[0]);
}
/**
* Метод установки идентификатора
*/
function setId($id)
{
//устанавливаем id и удаляем данные из свойства _data
$this->_id=$id;
$this->_data=null;
}
/**
* Метод для получения данных
* Проверяет установлено лми своййство _data, если да
* то посто возвратит его,если нет то будут получены данные из базы данных
*/
function &getData()
{
//загружаем данные
if(empty($this->_data))
{
//если данных нет загружаем их из базы данных
$query='select * from #__scenarii where id='.$this->_id;
$this->_db->setQuery($query);
$this->_data=$this->_db->loadObject();
//$this->_db->stderr();
}
if(!$this->_data)
{
$this->_data=new stdClass();
$this->_data->id=0;
$this->_data->name=null;
$this->_data->type=null;
$this->_data->date=null;
$this->_data->regnum=null;
$this->_data->rate=null;
$this->_data->poll=null;
$this->_data->published=null;
}
return $this->_data;
}
}
Подскажите люди добрые, что не так делаю

Уже голова сейчас взорвется.Гугл уже красный.На мои поиски пишет - Вы уже спрашивали, зае... уже.