Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Как связать валюту и язык?


hyena

Recommended Posts

Начал изучать opencart и не понимаю.

Есть два куска кода:

Смена языка

<form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="language_form" > 
<?php $language_code=="ru"; switch ($language_code) { case "ru": ?>		    
<span>ru</span>
<a onClick="$('input[name=\'language_code\']').attr('value', 'en'); $('#language_form').submit();" >en</a>
<?php break; case "en": ?>
<a onclick="$('input[name=\'language_code\']').attr('value', 'ru'); $('#language_form').submit();">ru</a>
<span>en</span>
<? break; } ?>
<input type="hidden" name="language_code" value="" /> 
<input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
</form>

Смена валюты

<form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="currency_form">
<a onclick="$('input[name=\'currency_code\']').attr('value', 'RUB'); $('#currency_form').submit();">RUB</a>
<a onclick="$('input[name=\'currency_code\']').attr('value', 'USD'); $('#currency_form').submit();">USD</a>
<input type="hidden" name="currency_code" value="" />
<input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
</form>

Никак не могу сделать так чтобы, при смене языка на английский менялась и валюта на доллары, и наоборот, на русский - рубли.

Надіслати
Поділитися на інших сайтах


Хм. Воспользоваться php тоже не вариант :(

Добавляя в код

<? $this->currency->set('USD'); ?>

Валюта обновляется.. но только после Обновления страницы.

может быть имеет значение куда добавить эту строку?
Надіслати
Поділитися на інших сайтах

может быть имеет значение куда добавить эту строку?

Это намёк или предположение?

---

Неважно куда вставлять это условие.

Принцип другой.

Нажимаем на ссылку "en". Ссылка обрабатывается с помощью javascript.

При нажатие - заполняется знание скрытого поля name="language_code". Было "", стало "en".

После чего сама обрабатывается форма, без перезагрузки всей страницы.

Надіслати
Поділитися на інших сайтах


После чего сама обрабатывается форма, без перезагрузки всей страницы.

это в какой версии без перезагрузки страницы меняется валюта?
  • +1 1
Надіслати
Поділитися на інших сайтах

Надіслати
Поділитися на інших сайтах

Во всех. Разве нет?

Логика такая же, как и у добавления товара в корзину (Ajax)

Нет. Вы вон сами выше всю логику выкусили и показали. Там просто 2 независимые формы, которые при смене авто-сабмитятся и страница перерисовывается.
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

может быть имеет значение куда добавить эту строку?

имеет значение однозначно

благодаря вашему ответу смогла найти для себя решение

$this->currency->set('NIS');
вставляла эту конструкцию в controller/common/header

и теперь валюта зависит от языка

спасибо и автору вопроса, очень мало информации по этой задаче

Надіслати
Поділитися на інших сайтах


очень мало информации по этой задаче

форум для того и есть, что бы освещать эту информацию.

я стараюсь отвечать на интересные вопросы.

  • +1 1
Надіслати
Поділитися на інших сайтах

  • 1 year later...

wenzdi

Подскажите пожалуйста где именно вы вставили этот код и с каким условием. Я так понимаю там должен быть какой-то if, типа этого:

 if ($lang == 'en') {
     $this->currency->set('UAH');
 }
Надіслати
Поділитися на інших сайтах

  • 3 months later...
  • 11 months later...

возник такой же вопрос, как связать валюту и язык?, из этой темы ни чего не понятно... что поставить, куда и т.д....

Надіслати
Поділитися на інших сайтах


  • 3 months later...

Я так понимаю для 1.5.6.4 нет нормального решения для объединения языковой версии сайта и валюты. Типа Русский = Рубли, Английский = Доллар США, Украина = Гривна.

 

Или может кто-то знает человеческое решение?

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Я так понимаю для 1.5.6.4 нет нормального решения для объединения языковой версии сайта и валюты. Типа Русский = Рубли, Английский = Доллар США, Украина = Гривна.

 

Или может кто-то знает человеческое решение?

 

Присоединяюсь к пожеланию. Очень нужно. можно за деньги. =)

Надіслати
Поділитися на інших сайтах


Собственно в чем вопрос?

 

Какая причина такой хотелки?

 

Ок, вы переключаете язык и переключите валюту

 

А если переключите валюту, то, наверное, нужно и язык переключать?

Надіслати
Поділитися на інших сайтах

Собственно в чем вопрос?

 

Какая причина такой хотелки?

 

Ок, вы переключаете язык и переключите валюту

 

А если переключите валюту, то, наверное, нужно и язык переключать?

 

 

Хотелка проста! давно в этой сфере. так вот: сайт на 3-х языках. и развивается соответсвенно на разную публику.

Вы думаете америкосы или другие забугорные человеки сильно ищут языки и валюты на сайте - ошибаетесь! поверьте моему 3-х летнему опыту по цветочкам.

Так что, есть кто сделает?

Надіслати
Поділитися на інших сайтах


Т.е. переключать валюту вместе с языком?

Совершенно верно. язык англ.-валюта долл. или по желанию еврики

                                          рус - грн  - здесь если клиент с России пускай ручками на рубль. т.к. в Украине больше русскоговорящих. 

                                          укр - грн

как то так.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.