Joomla如何从其他组件创建模型

时间:2014-01-22 18:25:03

标签: joomla model

我是joomla的初学者。我创建自己的组件,并希望使用其他组件(完全是contentbuilder)的模型。 我找到了几种不同的方法来创建模型但我的问题是

  

class ContentbuilderModelEdit扩展了JModel

在其中使用JPATH_COMPONENT_ADMINISTRATOR。当我创建模型ContentbuilderModelEdit时,我会在使用JPATH_COMPONENT_ADMINISTRATOR常量的行中收到警告。

是否可以使用其他组件中的常量创建模型?

感谢您的回答

2 个答案:

答案 0 :(得分:2)

唉不。 JPATH_COMPONENTJPATH_COMPONENT_ADMINISTRATORdefined常量,无法更改。

有时开发人员本能地(很容易)这样做,却没有意识到他们对其他开发人员的限制。您可以考虑联系开发人员并提出此类更改;如果他们接受,你就赢了;如果他们不这样做,请编写执行更改的sed脚本(将其替换为JPATH_SITEJPATH_ADMINISTRATOR . '/components/com_contentbuilder',并在每次更新后应用它。

或者,将他们的模型复制到您的组件中,如果它支持它,则重命名它。

答案 1 :(得分:0)

:)

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

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

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

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

之后,您应该可以使用模型的方法。

ref link