从Joomla 3.4中的另一个组件控制器调用模型



我正在开发Joomla 3.4 application,其中我必须将一个组件模型调用到另一个组件控制器,但不从那里调用。

支持,我有2个组件

>> comp1
  model: m1
  controller: c1
>> comp2
  model: m2
  controller: c2

我想致电comp1 model (m1) into comp2 controller (c2).

我尝试使用以下代码:

$model    = $this->getModel('m1', '', array());

但是,在$model中,如果comp1 controller (c1)中的代码使用以上代码,则获取零值。

运行。

实际上没有遇到的问题。任何人都有一个完美的主意。

谢谢

这是一个古老的问题,但迟到总比没有好,我希望它能帮助其他开发人员。

要从另一个组件调用模型,首先要包括此模型的路径:

JModelLegacy::addIncludePath(JPATH_SITE . '/components/comp1/models', 'Comp1Model');

其次,您必须创建模型的实例:

$model = JModelLegacy::getInstance('Model1', 'Comp1Model');

之后,您应该能够使用模型的方法。

Joomla 4对此具有出色的依赖注入。旧技术对我不起作用。

我使用此

//frontend component Atricle model loaded
$model = Factory::getApplication()->bootComponent('com_content')->getMVCFactory()->createModel('Article', 'Site');
$result = $model->getItem('put ID here');

相关内容

  • 没有找到相关文章