我使用组件创建器为Joomla 3生成自定义组件。我在管理员面板中有一个视图,该视图需要来自前端模型的功能。Joomla 3 - 自定义组件 - 如何从管理视图访问网站模型?
我一直在做谷歌搜索了好几天试图找到一个合适的答案,这是我来工作的响应最接近:
然而,在回应他似乎是使用来自其他站点视图的站点视图模型。
这里是关于我的组件结构的有点:
名称:com_stargazer
管理员查看:电子邮件
的index.php选项= com_stargazer &视图=电子邮件&布局=测试 /管理员/组件/ com_stargazer/views/email/tmpl/test.php
站点视图和模型:returnpage
/components/com_stargazer/models/returnpage.php /components/com_stargazer/views/returnpage/tmpl/default.php
我想修改我的管理视图由包括路径包括网站模式:
$this->setModel(getModel(JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_stargazer/models', 'returnpageModel')));
$this->setModel(JModelLegacy::getInstance('returnpage', 'stargazerModel'));
// assigns array from the second model to 'ItemsOtherModel.' there is no '$' sign used.
$this->ItemsOtherModel = $this->get('tags','returnpage');
但是,getModel看起来好像不能从视图中访问。 (?大概只有控制器)
其他,引用说修改控制器(其他参考张贴在评论):
https://docs.joomla.org/Using_multiple_models_in_an_MVC_component
在过去的几天里,我已经试过上述各种迭代参考代码示例。 。 。最终我很困惑要修改哪个控制器?我是否需要修改管理员控制器才能使其工作或者站点控制器?将该功能添加到管理员模型并在网站视图中访问它会更容易吗?
调试也很困难,因为我不知道哪个模型会抛出错误。我迄今为止的最佳猜测是,我从管理视图中完全没有运气附加到网站模型。任何帮助将不胜感激,在得到这个整理。
这是我的第一个问题,所以我希望它很清楚。
我可以澄清,如果需要。 在此先感谢。
其他Referrences: https://www.component-creator.com/en/forum/community-support/153-multiple-models-in-one-view-for-j3-3 *** https://api.joomla.org/cms-3/classes/JModelLegacy.html *** https://www.corephp.com/blog/joomla-mvc-load-a-model-from-anywhere/ *** https://lvstechnologies.wordpress.com/2013/07/17/joomla-mvc-load-a-model-from-anywhere/ *** –