Not sure what I am doing (I am new to VM!) but the only place I found something could be happening is in line 170:
static public function getChildCategoryListObject($vendorId, $virtuemart_category_id,$selectedOrdering = null, $orderDir = null,$lang=false) {
if(!$lang){
$lang = VmConfig::$vmlang;
}
if(VmConfig::$defaultLang!=$lang and VmConfig::$langCount>1){
$query = 'SELECT c.*, IFNULL(l.category_name,ld.category_name) as category_name,
IFNULL(l.category_description,ld.category_description) as category_description,
IFNULL(l.metadesc,ld.metadesc) as metadesc,
IFNULL(l.metakey,ld.metakey) as metakey,
IFNULL(l.customtitle,ld.customtitle) as customtitle,
IFNULL(l.slug,ld.slug) as slug
FROM `#__virtuemart_categories` as c
INNER JOIN `#__virtuemart_categories_'.VmConfig::$defaultLang.'` as ld using (`virtuemart_category_id`)
LEFT JOIN `#__virtuemart_categories_'.$lang.'` as l using (`virtuemart_category_id`)';
} else {
$query = 'SELECT L.*
FROM `#__virtuemart_categories_'.$lang.'` as L
INNER JOIN `#__virtuemart_categories` as c using (`virtuemart_category_id`)';
}
I do have 2 languages, english (default) and spanish.
The output is the same in both languages, the category name and the category description are not showing without a published product.