Here is an FAQ written about it
http://forum.virtuemart.net/index.php?topic=120413.msg410322#msg410322You must also update your AIO!
In case you have some overrides, follow this small guide to update the layout overrides. Even non programmers should be able to do it with concentration and care.
please search for JFactory::getCache and delete this line.
Search also for
$cache->call( array( 'VirtueMartModelCategory', 'getChildCategoryList' ),$vendorId, $category->virtuemart_category_id );
and replace it by
VmModel::getModel('category')->getChildCategoryList($vendorId, $category->virtuemart_category_id );
Be aware it can be also $child instead of $category. the part behind getChildCategoryList stays the same. This change enhances in some stores drastically the speed.
So this $categories =
$cache->call( array( 'VirtueMartModelCategory', 'getChildCategoryList' ),
$vendorId, $category->virtuemart_category_id );
is now $categories=
VmModel::getModel('category')->getChildCategoryList(
$vendorId, $category->virtuemart_category_id );
sometimes it is written that way $childs =
$cache->call( array( 'VirtueMartModelCategory', 'getChildCategoryList' ),
$virtuemart_vendor_id,$child->virtuemart_category_idThen use of course the other parameters.
$childs =
VmModel::getModel('category')->getChildCategoryList(
$virtuemart_vendor_id, $child->virtuemart_category_id );
But the pattern is always the same.
Attention:
You never have to edit the core files. The error comes due category MODULES ! The only thing we did is to change the call in the mod_virtuemart_category.php. the layouts should still work. The problem is that people copied the whole module to create their own and that is creating the problem. So if someone has a layout override for the virtuemart module, there is no problem. I did not expect that soo many people just copied the vm module instead just to provide another layout.