Перейти к содержанию
22.03.2024 ×
  • RU
    • Язык

Мультивалюта и OCFilter 4.8


Перейти к решению Решений kardinals,

Рекомендуемые сообщения

Кто-то адаптировал модуль мультивалютные товары с OCFilter?
Сам модуль отрабатывает отлично, но окфильтр не пересчитывает 25$ в нужную валюту.

года 3 назад автор писал возможное решение -
Можно, в sql-запросах модуля фильтра, там где идет выборка цены p.price умножать ее на курс, примерно так:
* (CASE WHEN p.currency_id>0 THEN (1/(SELECT c.value FROM `" . DB_PREFIX . "currency` c WHERE c.currency_id=p.currency_id)
но не разобрался как это сделать, запрос разбит на части(((

Подскажите, как подправить!

Ссылка на комментарий
Поделиться на другие сайты

  • Решение

кому надо решение для окфильтра 4.8
ищем в
строка 388 protected function getRegularPriceRange($data, &$range) {
ищем
$sql .= " p.price";
и меняем на
$sql .= " p.price / (SELECT value FROM " . DB_PREFIX . "currency WHERE currency_id = p.currency_id) AS price";

по аналогу добавляем / (SELECT value FROM " . DB_PREFIX . "currency WHERE currency_id = p.currency_id) AS price
строка 425 $sql .= " ocf_ps.price";
выйдет так $sql .= " ocf_ps.price / (SELECT value FROM " . DB_PREFIX . "currency WHERE currency_id = p.currency_id) AS price";
и по аналогу строка 458

Далее, чтобы фильтровало по слайдеру ищем строку 1113
$or[] = "p.price BETWEEN '" . (float)$price_from . "' AND '" . (float)$price_to . "'";
меняем на
$or[] = "(p.price / (SELECT value FROM " . DB_PREFIX . "currency WHERE currency_id = p.currency_id)) BETWEEN '" . (float)$price_from . "' AND '" . (float)$price_to . "'";

если необходима фильтрация по акциям скидкам ниже по аналогу делаем

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...