【问题标题】:joomla Jfactory does not instantiate itselft in a joomla webapp ( joomla 2.5 )joomla Jfactory 不在 joomla webapp ( joomla 2.5 ) 中实例化 selft
【发布时间】:2012-04-05 16:11:45
【问题描述】:

我正在尝试构建一个外部 webApp 来在 Joomla 中上传一些产品!与美德玛特。
一切正常,但Jfactory::getApplication 仍有问题。

我已按照本教程进行操作:

http://docs.joomla.org/How_to_create_a_stand-alone_application_using_the_Joomla!_Platform

但是当我在__construct 方法上调用VmModel 时,它会调用parent::__construct($config)

$this->_cidName = $cidName;
// Get the pagination request variables
$mainframe = JFactory::getApplication() ;
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');

这会引发以下错误:

vCall 到未定义的方法 JException::getUserStateFromRequest()

如果有帮助的话还有:

vNotice:尝试在第 201 行的 /home/giuseppe/homeProj/ModaNuovo/libraries/joomla/application/application.php 中获取非对象的属性

提出者:

public static function getInstance($client, $config = array(), $prefix = 'J')
{
    if (empty(self::$instances[$client]))
    {
        // Load the router object.
        $info = JApplicationHelper::getClientInfo($client, true);

        $path = $info->path . '/includes/application.php';
        if (file_exists($path))

【问题讨论】:

  • 问题是JApplicationWeb没有扩展JApplication,还试图让它扩展那些方法受到保护!
  • 这在 Joomla3.x 中可能是更好的方法。 $app = JFactory::getApplication('site'); // 初始化应用程序。 $app->initialise();

标签: php joomla virtuemart


【解决方案1】:

解决方案是将主应用程序与您的应用程序一起实例化,如果需要,还可以通过以下方式登录:

$app = JFactory::getApplication('administrator');

// create a form token
$user = JFactory::getUser(42);
$session = JFactory::getSession();
$hash = JApplication::getHash($user->get('id', 0) . $session->getToken(true));

如果需要,您还必须执行登录以验证此哈希。

【讨论】:

    猜你喜欢
    • 2012-08-11
    • 1970-01-01
    • 2016-03-08
    • 2023-03-07
    • 2013-05-01
    • 2012-07-13
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多