在前端如何在Open cart中安装不同语言之间获取哪种语言?

时间:2013-03-25 08:21:46

标签: php e-commerce opencart

我在实时服务器上安装了多种语言(英语,Duch,德语)的Opencart 1.5.4x。 Opencart应用程序可以正常使用这些语言。

当我点击语言链接并浏览整个网站时,网站的内容会以这种语言翻译,但是如何以编程方式查找哪种语言有效?

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

4 个答案:

答案 0 :(得分:4)

我猜你应该在控制器或模型中调用$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 } ?>

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

答案 1 :(得分: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; } ?>

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

我有一个类似的问题: 我想在产品页面上获取当前选择的语言,因此我可以显示不同的社交共享代码&#34;对于产品页面上的不同语言。

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; ?>

现在,如果你选择&#34;英语&#34; ,它会显示&#34; en-gb&#34;,如果您选择&#34;简体中文&#34;,它将显示&#34; zh-cn&#34;。

然后我可以使用&#34;如果&#34;和&#34;这个值&#34;显示不同的社交共享代码&#34;用于不同的语言。

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