首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mod_banners的joomla覆盖模型

mod_banners的joomla覆盖模型
EN

Stack Overflow用户
提问于 2013-05-10 16:07:13
回答 1查看 749关注 0票数 2

我正在使用Joomla 3.1,我正在使用模板黑客来覆盖mod_banners -

代码语言:javascript
复制
/mytemplate/html/mod_banners/default.php

运行得很好。

但是,banner模块会调用该文件:

代码语言:javascript
复制
/components/com_banners/models/banners.php

我似乎不能忽略它。我尝试将文件(和文件夹)移动到我的/mytemplate/html文件夹中,但不起作用。

我还尝试将以下代码放入我的横幅default.php文件中:

代码语言:javascript
复制
JModelLegacy::addIncludePath(JPATH_ROOT.'/templates/home/com_banners/models/', 'BannersModel');
$model      = JModelLegacy::getInstance('Banners', 'BannersModel', array('ignore_request' => true));
$banners    = $model->getItems();

但这也不起作用。有没有办法在不更改核心文件的情况下覆盖/com_banner/model/banners.php中的查询?

我所要做的就是在不改变核心的情况下,为每个标语拉入描述。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-10 19:34:28

在Joomla中覆盖模型的唯一方法是制作您自己的原始版本,并在模型首次访问之前通过系统插件加载(注册)它。对于你的用例来说,这太复杂了。

即使这不是一个好的实践,因为它破坏了MVC结构,所以我会从模板中获取数据。

代码语言:javascript
复制
$db    = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('id, name, description')
      ->from('#__banners');
$db->setQuery($query);
$banners = $db->loadObjectList();

现在你可以访问所有的横幅描述,fx。在循环中:

代码语言:javascript
复制
foreach ($banners as $banner) {
    echo $banner->id, ': ', $banner->description;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16477713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档