1

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

当我点击语言链接并浏览整个网站时,网站的内容被翻译成这种语言,但是如何以编程方式找出哪种语言处于活动状态?

我需要向用户显示当前处于活动状态的语言。

4

4 回答 4

5

我想您应该$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 } ?>

我希望这是您需要解决的问题,并且会有所帮助。

于 2013-03-25T09:59:59.723 回答
0

opencart中的简单语言选择代码

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

<?php if ($locale) { echo $locale; } ?>
于 2013-11-20T09:04:53.037 回答
0

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

$this->data['language_code'] = $this->session->data['language'];
于 2014-08-19T07:59:29.107 回答
0

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

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”和“this value”为不同的语言显示不同的“社交分享代码”。

希望它会有所帮助,因为它适用于 opencart 2.3.02,我认为它适用于 opencart2+,3+。

于 2017-07-25T15:19:52.223 回答