Перейти к содержимому


Фотография
- - - - -

Разные валюты в разных категориях


Лучший Ответ Cheren-dow , 15 June 2016 - 13:08

: 1. Как сделать чтобы только 1 категория была забита в $, а выводилась в рублях?

Это можно сделать, но для этого необходимо сделать хак в хелпере модуля:

\modules\mod_jbzoo_currency\helper.php

В методе _defaultCur, через request получать id категории и проверять:

if ($this->app->jbrequest->get('category_id') == 8) {
            $currentCur = 'usd';
        }

а после устанавливать валюту

zx89_200x0.png

Далее в методе getCurrencyList по аналогии:

if ($this->app->jbrequest->get('category_id') == 8) {
     $defaultCur = 'usd';
}

7fgk_200x0.png

Теперь для категории с ID в по умолчанию будет доллар

2. и как сделать чтобы корзина дружила с этим (в настройках корзины выбрать можно только 1 валюту)?

Если необходимо для строки товара изменить отображающую валюту необходимо делать хак в файле класса:

\media\zoo\applications\jbuniversal\framework\classes\cart\jborder.php

В методе renderItems. Так еж получайте категорию и делайте замену.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 5

#1 nowell

nowell

Отправлено 15 June 2016 - 10:12

Всем привет! Нужно сделать следующее: есть сайт в нем все товары в рублях и забиваются и выводятся, сейчас же нужно добавить одну категорию с товарами в которой цены будут забиваться в $ а выводиться везде в рублях по курсу ЦБ.

 

Вопрос: 1. Как сделать чтобы только 1 категория была забита в $, а выводилась в рублях?

              2. и как сделать чтобы корзина дружила с этим (в настройках корзины выбрать можно только 1 валюту)?


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 15 June 2016 - 13:08   Лучший Ответ

: 1. Как сделать чтобы только 1 категория была забита в $, а выводилась в рублях?

Это можно сделать, но для этого необходимо сделать хак в хелпере модуля:

\modules\mod_jbzoo_currency\helper.php

В методе _defaultCur, через request получать id категории и проверять:

if ($this->app->jbrequest->get('category_id') == 8) {
            $currentCur = 'usd';
        }

а после устанавливать валюту

zx89_200x0.png

Далее в методе getCurrencyList по аналогии:

if ($this->app->jbrequest->get('category_id') == 8) {
     $defaultCur = 'usd';
}

7fgk_200x0.png

Теперь для категории с ID в по умолчанию будет доллар

2. и как сделать чтобы корзина дружила с этим (в настройках корзины выбрать можно только 1 валюту)?

Если необходимо для строки товара изменить отображающую валюту необходимо делать хак в файле класса:

\media\zoo\applications\jbuniversal\framework\classes\cart\jborder.php

В методе renderItems. Так еж получайте категорию и делайте замену.


  • 0
Изображение
 

#3 nowell

nowell

Отправлено 16 June 2016 - 12:30

Это можно сделать, но для этого необходимо сделать хак в хелпере модуля:

\modules\mod_jbzoo_currency\helper.php

В методе _defaultCur, через request получать id категории и проверять:

if ($this->app->jbrequest->get('category_id') == 8) {
            $currentCur = 'usd';
        }

а после устанавливать валюту

zx89_200x0.png

Далее в методе getCurrencyList по аналогии:

if ($this->app->jbrequest->get('category_id') == 8) {
     $defaultCur = 'usd';
}

7fgk_200x0.png

Теперь для категории с ID в по умолчанию будет доллар

 

 

Если необходимо для строки товара изменить отображающую валюту необходимо делать хак в файле класса:

\media\zoo\applications\jbuniversal\framework\classes\cart\jborder.php

В методе renderItems. Так еж получайте категорию и делайте замену.

 

хак в хелпере никак не влияет на валюту отображаемую на сайте, даже если не использовать условие и просто вставить $currentCur = 'usd'; и $defaultCur = 'usd'; валюта на сайте отображается та которая выбрана в админке


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 16 June 2016 - 12:34

nowell, вам нужно вывести в позицию модуль списка валют. Без модуля у вас не получится сменить цену. 


  • 0
Изображение
 

#5 Михаил

Михаил

Отправлено 16 June 2016 - 15:56

В одном проекте мне требовалась такая же вещь. Часть цен забивали в рублях, а часть в USD. Так цены просто забивались в виде "1300 usd" или "900 usd". Базовая валюта была выбрана рубли конечно.

А чтобы выводилось все только в рублях, то как правильно сказал Cheren-dow надо вывести модуль списка валют с по-умолчанию рублями. Сам модуль может быть вполне скрытым например через display:none;


  • 0

#6 nowell

nowell

Отправлено 17 June 2016 - 10:50

nowell, вам нужно вывести в позицию модуль списка валют. Без модуля у вас не получится сменить цену. 

 

Спасибо! Помогло!


  • 0




Click to return to top of page in style!