【问题标题】:Joomla 3.0 component $params = $app->getParams();Joomla 3.0 组件 $params = $app->getParams();
【发布时间】:2012-12-15 05:15:51
【问题描述】:

我正在使用 Joomla 3.0,但由于一个小问题,此时我无法使用组件。

这是错误,我可以通过将 Legacy 添加到类中轻松解决所有其他错误,例如 JView 变成 JViewLegacy

但是对于下面的错误我找不到解决方案:

任何帮助都会很棒!

错误:

Fatal error: Call to a member function getParams() on a non-object in 
/var/www/g35003/mywebsite.nl/HTML/administrator/components/
com_taxonomy/taxonomy.php on line 16

第 16 行代码被标记。

defined( '_JEXEC' ) or die( 'Restricted access' );

global $mainframe;
$params = $app->getParams();  /** <-- Line 16 */
require_once (JPATH_COMPONENT.DS.'controller.php');
$controller = new TaxonomyController();
$controller->execute(JRequest::getCmd('task'));
$controller->redirect();

【问题讨论】:

    标签: class joomla joomla3.0


    【解决方案1】:

    global $mainframe; 我相信自 Joomla 2.5 以来已被弃用。获取参数可以使用如下代码:

    $params = JComponentHelper::getParams('com_taxonomy');
    $test = $params->get('param_name');
    

    【讨论】:

    • 这不适用于组件的菜单项。这将获取组件的全局配置值。
    • @AnriëtteMyburgh - 没有提到问题中的菜单项
    【解决方案2】:

    试试这个

    defined( '_JEXEC' ) or die( 'Restricted access' );
    
    $app    = &JFactory::getApplication();
    $params = $app->getParams();  /** <-- Line 16 */
    require_once (JPATH_COMPONENT.DS.'controller.php');
    $controller = new TaxonomyController();
    $controller->execute(JRequest::getCmd('task'));
    $controller->redirect();
    

    【讨论】:

    【解决方案3】:

    为了在我的视图中获取菜单项的参数,我使用了以下内容:

    $menu = JFactory::getApplication('site')->getMenu()->getActive();
    $this->params = $menu->params;
    

    【讨论】:

    • 正如我在其他评论中提到的,用户没有指定任何有关菜单项的内容。另外,如果你读到他的错误,你会在文件的路径中看到/administrator,因此你提供的与后端组件视图无关
    猜你喜欢
    • 2012-07-13
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    相关资源
    最近更新 更多