Php joomla Jfactory不会在joomla webapp(joomla 2.5)中实例化它自己
我正试图建立一个外部网络应用程序上传一些产品在Joomla!使用virtuemart。Php joomla Jfactory不会在joomla webapp(joomla 2.5)中实例化它自己,php,joomla,virtuemart,Php,Joomla,Virtuemart,我正试图建立一个外部网络应用程序上传一些产品在Joomla!使用virtuemart。 所有的工作都如预期的那样,但是我仍然有一个关于Jfactory::getApplication的问题 我遵循了本教程: 但是,当我在\u构造方法上调用VmModel时,它会调用一个父级::\u构造($config): 这会引发以下错误: vCall到未定义的方法JException::getUserStateFromRequest() 如果可以,还有: vNotice:尝试在第201行的/home/gius
所有的工作都如预期的那样,但是我仍然有一个关于
Jfactory::getApplication
的问题
我遵循了本教程:
但是,当我在\u构造
方法上调用VmModel
时,它会调用一个父级::\u构造($config)
:
这会引发以下错误:
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))
解决方案是将主应用程序与您的应用程序一起实例化,如果需要,还可以通过以下方式登录:
$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));
如果需要,您还必须执行登录以验证此哈希。问题在于,JApplicationWeb不扩展JApplication,并且还尝试使其扩展这些方法受到保护!这可能是Joomla3.x中更好的方法$app=JFactory::getApplication('site');//初始化应用程序。$app->initialise();
$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));