Buongiorno a tutti.
mi trovo con un problema dovuto a un template che molto probabilmente non è pensato per i siti multilingua ma che al momento, a lavoro praticamente finito mi da solo questo fastidio.
nello specifico ho questo codice
<?php // no direct access
defined('_JEXEC') or die('Restricted access');?>
<?php
//$app = JFactory::getApplication();
//$doc = JFactory::getDocument();
//$language = $doc->language;
//var_dump(VmConfig::$jDefLang);
$db = JFactory::getDBO();
$q = 'SELECT `category_name`,`virtuemart_category_id` FROM `#__virtuemart_categories_'.VmConfig::$jDefLang.'` WHERE `virtuemart_category_id`='.$category_id;
$db->setQuery($q);
$categoriesParent = $db->loadAssoc();
//print_r($categoriesParent['virtuemart_category_id']);
//print_r($categoriesParent['category_name']);
$active_menu = '';
$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='. $categoriesParent['virtuemart_category_id']);
$cattext = $categoriesParent['category_name'];
?>
<?php
if (in_array( $categoriesParent['virtuemart_category_id'], $parentCategories)) $active_menu .= ' active';
?>
<span class="iceModuleTile <?php echo $active_menu ?>">
<?php echo JHTML::link($caturl, $cattext); ?>
</span>
<ul class="menu<?php echo $class_sfx ?>" >
<?php foreach ($categories as $category){
$active_menu = '';
$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id);
$cattext = $category->category_name;
//if ($active_category_id == $category->virtuemart_category_id) $active_menu = 'class="active"';
if (in_array( $category->virtuemart_category_id, $parentCategories)) $active_menu .= ' active';
if ($category->childs ) $active_menu .= ' parent'; ?>
<li class="<?php echo $active_menu ?>">
<?php echo JHTML::link($caturl, $cattext); ?>
<?php if ($category->childs ) { ?>
<ul class="menu<?php echo $class_sfx; ?>">
<?php
foreach ($category->childs as $child){
$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id);
$cattext = $child->category_name; ?>
<li>
<?php echo JHTML::link($caturl, $cattext); ?>
</li>
<?php } ?>
</ul>
<?php } ?>
</li>
<?php } ?>
</ul>
e la parte <span class="iceModuleTile <?php echo $active_menu ?>"><?php echo JHTML::link($caturl, $cattext); ?></span> non viene tradotta in inglese ma resta sempre in italiano (il resto invece viene tranquillamente tradotto).
se stampo var_dump(VmConfig::$jDefLang); mi da sempre it_it
se stampo $language = $doc->language; mi da invece en_gb
se provo a sostituire FROM `#__virtuemart_categories_'.VmConfig::$jDefLang.'` con FROM `#__virtuemart_categories_'.$language.'` mi da errore dicendo che la tabella .._categories_en_gb non esiste (in realtà esiste).
Come avrete capito la componente dove si verifica tutto è Virtuemart installato su Joomla 3.5.6
Ci sto sbattendo la testa da giorni ma non capisco come sia possibile che non funzioni...