Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 1363 Просмотров
*

foreach

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Прошу помощи у программистов.
Пытаюсь написать свой компонент.У же совсем запарился с этим 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 строке библиотеки, но где у меня(кроме ДНК),не въеду.
Вот контроллер
Код: php
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();
    }
}
Вот вид
Код: php
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);
       
    }
}

Вот модель
Код: php
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;
    }
}

Подскажите люди добрые, что не так делаю >:(
Уже голова сейчас взорвется.Гугл уже красный.На мои поиски пишет - Вы уже спрашивали, зае... уже.
*

friendmaster

  • Новичок
  • 2
  • 0 / 0
Вот нашел такое решение!
Код: php
class A1ModelA2 extends JModel{
    function __construct($config = array()){
        parent::__construct($config);                   //    <----   Решение проблемы
    }
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает страница XML выдает ошибку: This page contains the following errors

Автор vitaliywolf

Ответов: 20
Просмотров: 18706
Последний ответ 07.05.2020, 22:24:16
от sivers
Подскажите - сайт стал в фронтэнде выводить ошибку. Как ее убрать

Автор vovchikku

Ответов: 7
Просмотров: 2073
Последний ответ 30.01.2017, 10:35:49
от vovchikku
Undefined variable, прошу помощи, важный проект!

Автор Elimelech

Ответов: 15
Просмотров: 1582
Последний ответ 22.12.2016, 12:42:23
от Elimelech
Постоянно выбивает ошибку 400 на любой странице

Автор timber

Ответов: 1
Просмотров: 1454
Последний ответ 10.01.2016, 11:41:26
от timber
Выдает ошибку "Невозможно найти установочный пакет"

Автор riabina2

Ответов: 13
Просмотров: 2832
Последний ответ 19.11.2015, 12:03:51
от Ragivort