Категории
[FAQ] Часто задаваемые вопросы и ответы
Проблемы и решения
Ошибки и исправления
Общие вопросы
Расширения
Установка и обновление
Модули
Шаблоны
Локализация интерфейса
Коммерческие предложения
Учимся бизнесу
Бизнес книги
Поисковая оптимизация (SEO)
Магазины на ShopOS
Хостинг для ShopOS
Предложения и пожелания
Курилка
|
В опциях товара неправильно отображается изменение цены
http://sibinmarket.ru/product_info.php?products_id=541 - например здесь. В выпадающем списке опций при изменении цены отображается не размер изменения, а базовая цена. Но в корзине считается все как надо при покупке товара. Причем когда авторизуешься, в опциях отображаются нормальные изменения цены. Т.е. +110р, +400р т.д. вместо +1290р. Глюк вылазит именно когда ты не авторизован, версия магазина 2.3.2 Если где было исправление такой ошибки, ткните пожалста :)
Этот шаблон чтоли на 2.3.2 версии работает?))
не помню такой правки.
может шаблон вывод атрибутов просто кривой.
попробовать содержимое папки themes\default\module\product_options скопировать в аналогичнуб папку вашего шаблона.
Да, натянули схему, подточить кое-что правда пришлось.
Заменил шаблон стандартным - ничего не изменилось. Такое ощущение, что где-то идет проверка на авторизацию и выставляет в переменную {$item_data.PRICE}, отвечающую за изменение стоимости атрибута, или базовую цену товара или стоимость атрибута, если ты авторизован.
вобщем дошли руки и проблему решили сами, не знаю насколько правильно, но работает
файл modules/product_attributes.php, в котором формируется префикс и дополнительная цена. конкретно строчка:
$price = $osPrice->GetPrice($product->data, $format = false, 1, $product->data, $products_options);
не уверен, что абсолютно правильно понял алгоритм работы функции getprice, но судя по всему она берет этот самый price из "массива" product->data, как-то криво объяснил, но надеюсь понятно.
путем экспериментов пришел к пониманию, что использовать для этого надо "внутренний массив", с которым мы как раз и работаем, а именно products_options->data, что в итоге вылилось в замену указанной выше строки на:
$price = $osPrice->GetPrice($products_options->data, $format = false, 1, $product->data, $products_options);
и закончилось работоспособностью как в залогиненном состоянии, так и разлогиненном. может баг конкретно нашей версии, а может кому и пригодится.
Источник
|