2013-03-25 56 views
0

我已經在實時服務器上安裝了帶有多種語言(英語,Duch,德語)的Opencart 1.5.4x。 Opencart應用程序適用於這些語言。在前端如何獲得在Open cart中安裝的不同語言中活動的語言?

當我點擊語言鏈接並瀏覽整個網站時,該網站的內容翻譯成這種語言,但是如何以編程方式找出哪種語言是活動的?

我需要向用戶顯示哪種語言當前處於活動狀態。

+0

看到這一點。 http://stackoverflow.com/questions/15253101/opencart-how-to-make-a-global-variable – TheBlackBenzKid 2013-03-25 12:33:24

回答

3

我想你應該在控制器或模型中調用$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 } ?> 

我希望這是你需要解決的問題,它會有所幫助。

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

$language_code使用,它是由目錄/控制器/模塊/ language.php設置選擇代碼:

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

我有類似的問題: 我想得到當前選定的語言因此我可以在產品頁面上爲不同的語言顯示不同的「社交分享代碼」。

1)去後

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

到/catalog/controller/product/product.php 添加

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

去/目錄/視圖/主題/默認/模板/產品/ product.tpl

將以下代碼添加到您希望顯示的位置。

<?php echo $clanguage; ?> 

現在,如果選擇 「英語」,它會顯示 「EN-GB」,如果選擇 「簡體中文」,它會顯示 「ZH-CN」。

然後我可以使用「if」和「this value」爲不同的語言顯示不同的「社交分享代碼」。

希望它會幫助, 它的工作在opencart 2.3.02,我認爲它可以在opencart2 +,3 +上運行。