News:

Support the VirtueMart project and become a member

Main Menu

Error loading component: com_virtuemart, 1

Started by fire47, January 04, 2013, 18:48:59 PM

Previous topic - Next topic

PRO


jjk

Just an additional hint - if you ever tried to uninstall VirtueMart, check your database table xxxxx_extensions for duplicate entries of 'com_virtuemart' and 'com_virtuemart_allinone' in the element column. Occationally Joomla doesn't uninstall all elements of an extensions, which can cause errors like 'Error loading component: com_virtuemart, 1'. In case you have duplicates, delete the older entries (usually the one with the lower id).
Non-English Shops: Are your language files up to date?
http://virtuemart.net/community/translations

fire47

Quote from: Milbo on January 31, 2013, 12:08:17 PM
You should not run virtuemart with cache except you understand exactly what you do. Many features cannot work correctly with cache (for example shoppergroup depended prices).
I only have one set of pricing.  Where would I find the list of features that do not work with caching turned on? 

Quote from: Milbo on January 31, 2013, 12:08:17 PM
The wwwrun problem means, that joomla (the phpuser, often called wwwrun,phpuser or similar) is not allowed to delete files on your server. There are 2 solutions. You can change your server to run with fastcgi. Or change the fileowner from your ftp to the phpuser.
PHP is already running as fastcgi.

Quote from: Milbo on January 31, 2013, 12:08:17 PM
Go to your joomla configuration, go to the cache settings and let joomla delete the cache, if this does not work you have a wrong configured server/file owners.
I don't understand what deleting the cache has to do with this error.  If I understand the cache correctly it should be valid for xxx time after creation as set in Global Config.  If that is the case what does a cache file permissions error have to do with registered users getting a php error?  As soon as cache is turned on the error shows all pages and php errors are shown on vm product pages when registered users are logged in.

fire47

Quote from: jjk on January 31, 2013, 20:17:56 PM
Just an additional hint - if you ever tried to uninstall VirtueMart, check your database table xxxxx_extensions for duplicate entries of 'com_virtuemart' and 'com_virtuemart_allinone' in the element column. Occationally Joomla doesn't uninstall all elements of an extensions, which can cause errors like 'Error loading component: com_virtuemart, 1'. In case you have duplicates, delete the older entries (usually the one with the lower id).

I have 3 virtuemart entries in #_extensions, I'm guessing I should remove the last one with extension id 10013?  How do I confirm?

10079    virtuemart_allinone    component    com_virtuemart_allinone       1    1    0    0    {"legacy":true,"name":"VirtueMart_allinone","type"...   {}         0    0000-00-00 00:00:00    0    0


10002    virtuemart    component    com_virtuemart       1    1    1    0    {"legacy":true,"name":"VIRTUEMART","type":"component","creationDate":"January 09 2013","author":"The VirtueMart Development Team","copyright":"Copyright (C) 2004-2012 Virtuemart Team. All rights reserved.","authorEmail":"max|at|virtuemart.net","authorUrl":"http:\/\/www.virtuemart.net","version":"2.0.18a","description":"","group":""}   {}         0    0000-00-00 00:00:00    0    0


10013    virtuemart    component    com_virtuemart       1    0    0    0    {"legacy":true,"name":"VirtueMart","type":"component","creationDate":"December 2011","author":"The VirtueMart Development Team","copyright":"Copyright (C) 2004-2011 Virtuemart Team. All rights reserved.","authorEmail":"max|at|virtuemart.net","authorUrl":"http:\/\/www.virtuemart.net","version":"2.0.0","description":"","group":""}   {}         0    0000-00-00 00:00:00    0    0


...and two sets of vm tables, #_virtuemart and #_vm, are both needed?

jjk

Make a backup of your database first using 'Export' in phpMyAdmin with default options selected except additionally select the 'Drop Table'. If you delete something wrong, you can import it again to restore what you currently have.

Yes, the com_virtuemart with id 10013 looks like the old one. And the tables with #_vm are old ones, too. (If I remember correctly, the vm prefix was used in the release candidate versions up to mid 2011).  I think you can delete them.
Non-English Shops: Are your language files up to date?
http://virtuemart.net/community/translations

fire47

Quote from: jjk on January 31, 2013, 22:02:40 PM
Make a backup of your database first using 'Export' in phpMyAdmin with default options selected except additionally select the 'Drop Table'. If you delete something wrong, you can import it again to restore what you currently have.

Yes, the com_virtuemart with id 10013 looks like the old one. And the tables with #_vm are old ones, too. (If I remember correctly, the vm prefix was used in the release candidate versions up to mid 2011).  I think you can delete them.

Tried this...no change.  VM is working fine after export but only with caching off as stated.

fire47


PRO


fire47

Quote from: PRO on February 05, 2013, 21:33:19 PM
#_vm_   is vmart 1.1

I figured as much although I wasn't sure.  Still need help getting the caching/permissions issue fixed as all suggestions have not made a difference.

fire47


fire47


fire47

Quote from: fire47 on January 31, 2013, 20:21:31 PM
Quote from: Milbo on January 31, 2013, 12:08:17 PM
You should not run virtuemart with cache except you understand exactly what you do. Many features cannot work correctly with cache (for example shoppergroup depended prices).
I only have one set of pricing.  Where would I find the list of features that do not work with caching turned on? 

Quote from: Milbo on January 31, 2013, 12:08:17 PM
Go to your joomla configuration, go to the cache settings and let joomla delete the cache, if this does not work you have a wrong configured server/file owners.
I don't understand what deleting the cache has to do with this error.  If I understand the cache correctly it should be valid for xxx time after creation as set in Global Config.  If that is the case what does a cache file permissions error have to do with registered users getting a php error?  As soon as cache is turned on the error shows all pages and php errors are shown on vm product pages when registered users are logged in.

Milbo, please answer above questions.  Thanks.

fire47

Can someone please help me get this issue fixed? 

Summary:
As soon as cache is turned on registered users get "Error loading component: com_virtuemart, 1" and get WSOD on VM product pages.

fire47


Milbo

"Error loading component: com_virtuemart, 1"

Please read here http://en.wikipedia.org/wiki/Nested_set_model

When the left right stuff is gentleed up, then you have a similar problem. In our case it was so, that we created a menu item as alias,... referenced to its own sub menu item. This menu item is sobi,... it was strange, the sobi worked, but the "path" leading to it was wrong.
Then I noticed that the alias was using category,.. then I used the repair function in joomla (in the menu list)
Then it was pointing to "private messages",...
The reason was that the alias pointing to its own child is a non solved problem => leads to a broken nested category structure.... to stay in the picture http://en.wikipedia.org/wiki/File:NestedSetModel.svg   the circles must not hit another circle....
If the component is not found,.. it can also mean, that the it tries to find it in "jackets", but in fact the component is in "sun dresses"

I doubt you understand it. It is imho an internal problem with the function storing the "nested set". Check the "paths" of your entries in the db. I mean in the menu table, not extensions. Furthermore your extension entries are clearly gentleed up.

delete all vm entries (not the aio!), and use this

INSERT INTO `YOURPREFIX_extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES (YOUR_ID, 'virtuemart', 'component', 'com_virtuemart', '', 1, 1, 0, 0, '{"legacy":true,"name":"VIRTUEMART","type":"component","creationDate":"January 02 2013","author":"The VirtueMart Development Team","copyright":"Copyright (C) 2004-2012 Virtuemart Team. All rights reserved.","authorEmail":"max|at|virtuemart.net","authorUrl":"http:\\/\\/www.virtuemart.net","version":"2.0.18a","description":"","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0);

I think in your case you should use for YOUR_ID = 10002, if this does not work, use the higher id (which has atm the older entry)  YOUR_ID = 10013

of course you can delete the _vm_ tables.


For caching I gave you already the best thread, the important stuff is at the end.
If you use a shop without almost any feature, then you can use cache.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/