Категории

[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);

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


Источник



Copyright ShopOS