edytuj plik odpowiedzialny za szablon języka
catalog/view/theme/SZABLON/template/module/language.phpmasz tam kod:
- Kod: Zaznacz cały
<?php if (count($languages) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
<div id="language"><?php echo $text_language; ?><br />
<?php foreach ($languages as $language) { ?>
<img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();" />
<?php } ?>
<input type="hidden" name="language_code" value="" />
<input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
</div>
</form>
<?php } ?>
zamień go na:
- Kod: Zaznacz cały
<?php if (count($languages) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
<div id="language"><?php echo $text_language; ?><br />
<?php foreach ($languages as $language) {
if($language['code'] == 'en') {
$cur_ = 'GBP';
}
elseif($language['code'] == 'pl') {
$cur_ = 'PLN';
}
elseif($language['code'] == 'de') {
$cur_ = 'EUR';
} else {
$cur_ = 'USD';
}
?>
<img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>');$('input[name=\'currency_code\']').attr('value', '<?php echo $cur_; ?>'); $(this).parent().parent().submit();" />
<?php } ?>
<input type="hidden" name="language_code" value="" />
<input type="hidden" name="currency_code" value="" />
<input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
</div>
</form>
<?php } ?>
Teraz przejdźmy do pliku kontrolera
catalog/controller/module/language.php, tam znajdź linijkę:
- Kod: Zaznacz cały
$this->session->data['language'] = $this->request->post['language_code'];
i doklej bezpośrednio pod nią:
- Kod: Zaznacz cały
$this->currency->set($this->request->post['currency_code']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['shipping_method']);
jeśli nic nie pokaszaniłem w if/elseif to powinno działać.
Ewentualnie jest taki moduł:
http://www.opencart.com/index.php?route ... 20Location który pozwala na automatyczne ustawienie języka i waluty w zalezności od ip klienta.