在前端如何获取Open cart中安装的不同语言中哪一种语言是活跃的


In frontend how to get which language is active among installed different languages in Open cart?

我已经在实时服务器上安装了openart 1.5.4x并以多种语言(英语,荷兰语,德语)为主题。Opencart应用程序可以在这些语言中正常工作。

当我点击语言链接并浏览整个网站时,网站的内容是用这种语言翻译的,但是如何通过编程来发现哪种语言是活跃的?

我需要向用户显示当前活动的语言

我猜你应该在控制器或模型中调用$this->config->get('config_language_id');以获得当前活动语言的ID。

这意味着,如果你已经实现了你自己的语言切换器,在你的控制器设置语言到模板:

$this->data['active_language_id'] = $this->config->get('config_language_id');

,然后在你的模板中做一些像

<?php foreach($languages as $language) { ?>
<a href="..." class="lang-select <?php if $language['language_id'] == $active_language_id) echo ' active'; ?>"><?php echo $language['code']; ?></a>
<?php } ?>

我希望这是你需要解决的问题,它会有所帮助。

简单语言选择代码

<?php $lang = $this->config->get('config_language');
if($lang == 'ru'){
    $locale = 'ru_RU';
} elseif($lang == 'en'){
    $locale = 'en_US';
} ?> 

<?php if ($locale) { echo $locale; } ?>

使用$language_code在您的前面,它是由catalog/controller/module/language.php设置:

$this->data['language_code'] = $this->session->data['language'];

我有一个类似的问题:我想在产品页面上获得当前选择的语言,这样我就可以在产品页面上显示不同语言的"社交共享代码"。

1)进入/catalog/controller/product/product.php目录在

 $data['heading_title'] = $product_info['name'];

添加
$data['clanguage']  = $this->session->data['language'];

转到/catalog/view/theme/default/template/product/product.tpl

将以下代码添加到您想要显示的位置。

<?php echo $clanguage; ?>

现在,如果你选择"English",它将显示"en-gb",如果你选择",它将显示"zh-cn"。

那么我可以使用"if "answers"this value"来显示不同语言的不同的"social share code"

希望它会有所帮助,它可以在opencart2.3.02上工作,我认为它可以在opencart2+,3+上工作。