Забавная штука, не знаю баг или нет.
Если включить режим указания цен в разных валютах (Настройки→Валюты→Основная Валюта RUB и "Я буду вводить цены в разных валютах для разных товаров"), завести товар с одним артикулом и указать товару цену $10, то в таблице shop_product в поле "price" сохранится значение в основной валюте (сконвертированное по курсу), а в поле "currency" будет значение валюты, в которой была указана цена (USD).
24 комментария
Так и задумано.
В поле currency хранится просто валюта товара (она одна на все артикулы).
При этом в таблице shop_product цены хранятся в основной валюте (для фильтров и сортировки), а в той в которой задали хранятся в shop_product_skus
У меня после обновления сходная проблема: при попытке поменять валюту цены у одного артикула, она автоматом меняется у всех: как побороть?:
Никак. Это так и задумано
Опять пилить...
Чем вы там только думаете...
Зачем у разных артикулов разные валюты?
Один размер в рублях, другой в USD? Так что ли?
У вас что-то не так с организацией магазина...
Дилеры, у которых закупается товар находятся в разных странах.
У иностранных дилеров прайсы, соответственно, в их валюте.
Поскольку в стране нахождения магазина постоянные скачки курсов, то удобнее заливать цены в валюте дилера и, просто, регулярно менять курс валюты в админке.
Для разных товаров вы можете задавать цены в разных валютах.
Но не для разных артикулов внутри одного товара.
Вы закупаете один цвет у одного дилера, а другой у другого?
И потом оба эти артикула показываются в одной карточке товара?
Ну он может "белые тлф с РСТ" закупать у официала, а "серые" контрабасом из Китая тащить. Например.
Вообще ситуация довольно нетипичная, я б не стал реализовывать для всех такую функцию ради того, чтоб одному было удобно.
Ну, начнём с того, что раньше так - работало.
Разные размеры одной шины - у разных дилеров: у кого дороже (аналогичный размер) - на ту - акция и покупатель выбирает, какой вариант ему подходит. Смысл вв том, что я-то подпилю, просто при каждом обновлении (а некоторые из них бывают совсем принудительными), приходится всё болльше восстанавливать.
Почему бы не реализовать Соломонов вариант: выбор обработки цен артикулов? И пусть каждый сам выбирает, как ему ставить цены.
Закончим на том, что никогда так не работало.
Код есть на гитхабе, можете посмотреть историю правок, если не верите.
Всегда хранилась только валюта для всего товара в поле currency таблицы shop_product, а не для каждого артикула по отдельности.
У вас слишком специфичный случай, который нужно вероятнее всего исключительно вам.
Мне не нужно верить или не верить: я прекрасно видел, как работает движок.
Ну, судя по тому, что дискуссия зашла в русло называния чёрного - белым, придётся мне регулярно исправлять ваши глюки для корректной работы сайта.
Скорее всего вы видели, как работает движок, после того, как его кто-то серьезно модифицировал.
Нет, из коробки: Ещё месяц назад всё работало, как нужно без каких-либо изменений с моей стороны.
Работало видимо что-то другое.
Еще раз вам повторяю: изначально еще с первой версии можно было задавать цены в разных валютах для товаров.
Но для артикулов одного товара валюта одна на все артикулы этого товара.
Так было всегда и так есть сейчас.
Это факт, и пытаться говорить, что это не так, мягко говоря, бессмысленно, т.к. код выложен и можно легко всё проверить и убедиться.
Так что непонятно о каких наших глюках вы тут говорите. В этой части ничего не менялось и меняться не планируется в ближайшем времени.
Вы либо вообще какой-то другой Shop-Script используете, т.к. у вас работало то, что никогда не работало, и работать не могло в базовой версии, либо просто троллите тут нас.
Купленный официально, что тоже легко проверить и убедиться.
Хорошо, можно зайти с другой стороны: как раз и навсегда запретить обновления?...
Вы напишите лучше сюда какие вы правки вносите чтобы у вас это корректно работало.
Мне очень интересно, потому что менять там нужно очень много мест, чтобы заработали разные валюты для разных артикулов одного товара.
Просто у меня есть ещё и другие правки.
Дело в том, что изменения на сайт вносились, просто они не затрагивали валюту: вносились изменения в работу фильтра, чтобы он учитывал выбранные комбинации характеристик, а не значения каждой характеристики по отдельности; так же, правился класс (см. одну из моих тем)в связи с тем, что заказчик захотел в фильтре выпадающие списки: пришлось отсекать пустые значения не выбранных характеристик.
Вы, Александр, ещё покритиковали мой вариант :))) ...
И перелопачивать движок после каждого обновления - как-то бессмысленно, имхо...
А в этом случае я просто планирую отломать жабаскрипт, который изменяет селект валюты у всех артикулов и делать/восстанавливать базу после каждого обновления, если их отломать нельзя...
js тут мало, т.к. я вам уже написал, валюта хранится с поле currency в таблице shop_product
То есть валюта хранится для ТОВАРА.
Для артикула валюта не хранится, она берётся из таблицы товара.
Так что толку от вашего js никакого не будет. В бд разные валюты для разных артикулов сохранять негде.
Именно поэтому это и не могло никогда никак работать.
То есть, если у меня в csv валюта задана для каждого артикула, то она перезаписывалась?
в config.php поставьте большую версию.
Не только... Рано или поздно может опять выскочить ошибка, исправить которую поможет только обновление, как это было недавно.
А по сабжу: я штатными средствами импортировал товары из csv, в котором была указана валюта для каждого артикула. И, до недавнего обновления всё работало, как и задумано...
Такая же проблема - не устраивает, что нельзя задать разную валюту для различных артикулов в одном товаре. В нашем случае артикулы используются для опта и розницы - там действует различный курс и валюта. Подскажите, кто и как смог решить проблему? Спасибо))