【问题标题】:$mainframe->close() Joomla 2.5$mainframe->close() Joomla 2.5
【发布时间】:2014-01-25 10:35:17
【问题描述】:

在 Joomla 1.5 中,当我喜欢调用 AJAX 时,我会像这样在控制器中添加函数

global $mainframe;
        $idContact = JRequest::getVar('idContact');
        $modelContact = $this->getModel('clientcontact');
        if($modelContact->delete($idContact))
            echo "1";
        else 
            echo "0";
$mainframe->close(); 

控制器返回 1 或 0(我不需要在 URL 中使用原始或其他东西,只需 tmpl=component

在 2.5 中,$mainframe->close(); 出现错误

我不喜欢使用原始或模态布局

【问题讨论】:

  • 您使用的是哪个 Joomla,您的问题标题为 2.5,而您在正文中指的是 1.5?
  • 我说过在 Joomla 1.5 中我使用该代码并且一切正常,但我将该代码放在 2.5 中我收到 close() 函数错误 致命错误 : 在 C:\xampp\htdocs\joomla25\administrator\components\com_tktransit\controllers\client.php 中的非对象上调用成员函数 close() 在 44 行b>

标签: joomla joomla2.5


【解决方案1】:

global $mainframe;

在 1.6 中已弃用,在 Joomla 2.5 中不可用,您应该阅读 Joomla Doc's 网站上的 Adapting a Joomla 1.5 extension to Joomla 2.5 文章。

如果你是懒惰的,那么你可以简单地替换:

global $mainframe;

与:

$mainframe = JFactory::getApplication();

整个扩展程序。

此外,$option 全局已消失。

您可能还想在 Joomla Doc 上为 Developers portal 添加书签。

【讨论】:

  • 我已经看到了,我在问,是否还有另一个为什么不使用 raw 来调用 ajax?
  • @Rad - 看看com_ajax。我是一个组件,旨在使 Joomla 更容易使用 ajax。 Joomla 3.2 默认自带,可以安装在 Joomla 1.5 和 2.5 上
猜你喜欢
  • 2011-11-25
  • 1970-01-01
  • 2012-09-23
  • 2013-03-11
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
  • 2014-05-14
  • 2013-02-25
相关资源
最近更新 更多