Как инициализировать пользовательскую модель joomla 2.5?

Как инициализировать пользовательскую модель joomla 2.5?

20.06.2012 07:54:17 Просмотров 64 Источник

Хорошо, поэтому я следовал учебнику joomla 2.5 здесь, и мне удалось сделать не неисправный исходный компонент.

Но мне интересно, как импортировать дополнительные классы в фреймворк?

У меня есть класс модели под названием auth.РНР

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// import Joomla modelitem library
jimport('joomla.application.component.modelitem');

/**
 * Auth Model
 */
class AutoBaseModelAuth extends JModelItem
{
    function detail()
    {   
        echo "this is test";
    }
}

Расположенный в C:/xampp/htdocs/com_autobase/model/auth.РНР

xampp
(источник: iforce.co.nz )

И мой взгляд...

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// import Joomla view library
jimport('joomla.application.component.view');

/**
 * HTML View class for the AutoBase Component
*/
class AutoBaseViewAutoBase extends JView
{
    // Overwriting JView display method
    function display($tpl = null) 
    {       
        $db     =& JFactory::getDBO();
        //request the auth model
        $model  =& $this->getModel('auth');
        $items =& $model->detail();
    }
}

Но я продолжаю получать эту ошибку неосознанно, потому что она еще не была импортирована... и я был на 5 разных сайтах, пытаясь узнать, как Joomla импортирует новые модели .

Notice: Undefined index: auth in C:\xampp\htdocs\libraries\joomla\application\component\view.php on line 413

Так может кто-нибудь объяснить, как инициализируются модели в joomla? и что я делаю неправильно.. Спасибо!

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/11112595/how-do-i-initialize-my-custom-joomla-2-5-model#comment14558141_11112595
какая версия Joomla?
https://stackoverflow.com/questions/11112595/how-do-i-initialize-my-custom-joomla-2-5-model#comment14558276_11112595
@cppl только что обновил название вопроса. Joomla Версия 2.5

Ответы - Как инициализировать пользовательскую модель joomla 2.5? / How do I initialize my custom joomla 2.5 model?

Является ответом!
Søren Beck Jensen

20.06.2012 05:03:14

У нас обычно есть эта статическая функция в помощнике, который мы включаем во все наши компоненты

public static function getModel($name, $component_name = null, $config = array()) {

    //Use default configured component unless other component name supplied
    if(!$component_name) {
        $component_name = self::$com_name;
    }

    jimport('joomla.application.component.model');
    $modelFile = JPATH_SITE . DS . 'components' . DS . $component_name . DS . 'models' . DS . $name.'.php';
    $adminModelFile = JPATH_ADMINISTRATOR . DS . 'components' . DS . $component_name . DS . 'models' . DS . $name.'.php';
    if (file_exists($modelFile)) {
        require_once($modelFile);
    } elseif (file_exists($adminModelFile)) {
        require_once($adminModelFile);
    } else {
        JModel::addIncludePath(JPATH_SITE . DS . 'components' . DS . $component_name . DS . 'models');
    }

    //Get the right model prefix, e.g. UserModel for com_user
    $model_name = str_replace('com_', '', $component_name);
    $model_name = ucfirst($model_name).'Model';

    $model = JModel::getInstance($name, $model_name, $config);

    return $model;
}

Затем вы можете получить модель в любом месте, перейдя

$model = helper::getModel('Name', 'ComponentName');
https://stackoverflow.com/questions/11112595/how-do-i-initialize-my-custom-joomla-2-5-model/11120201#comment14584623_11120201
Спасибо за ответ спасатель жизни :)
https://stackoverflow.com/questions/11112595/how-do-i-initialize-my-custom-joomla-2-5-model/11120201#comment23590576_11120201
могу ли я вызвать это из моего jview?
Закрыть X