News:

Looking for documentation? Take a look on our wiki

Main Menu

Warning 500 - Order Information

Started by RFreund, January 05, 2012, 03:47:35 AM

Previous topic - Next topic

RFreund

When I check my order information as a customer at the top of the page a "Warning - 500" appears.
Why is this? What is this?

Thanks!

JtouchMobile.com

The same to me with VM 2.0.0 and J 1.7.3
url: index.php?option=com_virtuemart&view=orders&task=details&virtuemart_order_id=24&Itemid=536

Seem that there has issue while import payment plugin, line 83, views/orders/view.html.php

JPluginHelper::importPlugin('vmpayment');

[attachment cleanup by admin]
Author of Jtouch - Mobile solution for Joomla & VirtueMart
http://www.jtouchmobile.com

RFreund

hmmm... let me know if you figure out the problem, I'm guessing this must be common to all VM2 users then right?

Elnino


adham

I dont have that error, using joomla 1.5.x

PRO

#5
edit

JtouchMobile.com

@BanquetTables.pro: Waiting for VM 2.0.1 ;) ?!
Author of Jtouch - Mobile solution for Joomla & VirtueMart
http://www.jtouchmobile.com

Venkko

I just got my payment pluging installed and I noticed that I have same problem. I am getting warning 500 message when checking order information.

So is there some way to get rid of this message?
www.pikkukoala.fi (J 1.5 & VM 1.1.5)
www.lastentavarat.fi (J 1.5.23 & V2.0.0)

Joomstore

Here's the solution that fixed it for me.

Seems payment methods and shipping methods are stored differently in the database but VM treats them as if they have exactly the same fields.

Locate the following code in administrator/components/com_virtuemart/plugins/vmplugin.php at about line 150


if (VmConfig::isJ15()) {
$q = 'SELECT vm.* FROM `'.$this->_configTable.'` AS vm,
#__plugins AS j WHERE vm.`'.$this->_idName.'` = "'.$id.'"
AND vm.'.$this->_psType.'_jplugin_id = j.id
AND j.element = "'.$this->_name.'"';
} else {
$q = 'SELECT vm.* FROM `'.$this->_configTable.'` AS vm,
#__extensions AS j WHERE vm.`'.$this->_idName.'` = "'.$id.'"
AND vm.'.$this->_psType.'_jplugin_id = j.extension_id
AND j.element = "'.$this->_name.'"';
}



Replace it with this code.

if (VmConfig::isJ15()) {
if(strstr($this->_configTable,"payment")) {
$q = 'SELECT vm.* FROM `'.$this->_configTable.'` AS vm,
#__plugins AS j WHERE vm.`'.$this->_idName.'` = "'.$id.'"
AND vm.'.$this->_psType.'_jplugin_id = j.id
AND vm.payment_element = "'.$this->_name.'"';
} else {
$q = 'SELECT vm.* FROM `'.$this->_configTable.'` AS vm,
#__plugins AS j WHERE vm.`'.$this->_idName.'` = "'.$id.'"
AND vm.'.$this->_psType.'_jplugin_id = j.id
AND j.element = "'.$this->_name.'"';
}
} else {
if(strstr($this->_configTable,"payment")) {
$q = 'SELECT vm.* FROM `'.$this->_configTable.'` AS vm,
#__extensions AS j WHERE vm.`'.$this->_idName.'` = "'.$id.'"
AND vm.'.$this->_psType.'_jplugin_id = j.extension_id
AND vm.payment_element = "'.$this->_name.'"';
} else {
$q = 'SELECT vm.* FROM `'.$this->_configTable.'` AS vm,
#__extensions AS j WHERE vm.`'.$this->_idName.'` = "'.$id.'"
AND vm.'.$this->_psType.'_jplugin_id = j.extension_id
AND j.element = "'.$this->_name.'"';
}
}


If the plugin is a payment plugin it will define a different SQL query than if it was a shipping plugin. I haven't checked it in J1.5 but it works perfectly in J1.7.

maxi1973

Unfortunately it doesn't solve the problem i my case. I use Joomla 1.7.3 and virtuemart 2.0.1 updated today. The problem still exist