Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Округлення цін в БД


Recommended Posts

Доброго дня!
Ситуація наступна:
Зробив округлення акційних цін товарів в адмінці (Адмінка-Каталог-Товари-вкладка Акції) до цілого числа, щоб були без копійок (бо вказуємо знижки у відсотках за допомогою модулів, і воно проставляє копійки).
Але в БД записуються значення все одно з копійками. Тому виникають деякі косяки, якщо покупець купує декілька позицій даного товару.

Підкажіть, будь ласка, як по-нормальному округляти ціни в БД?
Чи нормальним буде зміна типу поля ціни в таблиці БД з decimal на integer?

На тестовому магазі наче працює нормально, але на робочому трішки очкую одразу робити ці правки, бо хз чи щось може вилізти. Може щось не врахував.
Копійки на сайті відсутні взагалі для користувача, тобто всі ціни та розрахунки вказані цілим числом, валюта одна, без конвертувань.

Змінено користувачем Till
Надіслати
Поділитися на інших сайтах


04.07.2024 в 16:03, chukcha сказал:

можна, але 0,99 = 0

Дуже дякую))
Напевно, я ще щось накрутив (або ні), то в мене в цьому плані виходить все ок: ставлю ціну 0.99 (саме з крапкою), і в картці товару і в БД йде значення "1".
Якщо вказувати 0,99 (з комою), то дійсно є проблема. Але Опенкарт сам замінює знак коми на крапку по замовчуванню в полі вводу ціни, тобто, проблем наче не має виникнути. А факапи з масовим оновленням товарів з файлу від постачальника, де він (постачальник) використовує у цінах коми для значення "тисячі" й так були))

Змінено користувачем Till
Надіслати
Поділитися на інших сайтах


04.07.2024 в 21:39, drOC сказал:

Не треба міняти тип поля в БД, відкоректуйте де треба через модифікатор

 

https://www.php.net/manual/en/function.ceil.php

https://www.php.net/manual/en/function.floor.php

Дякую)
Та, на жаль, це для мене занадто складно. Я, по суті, в коді мало що тямлю))

Надіслати
Поділитися на інших сайтах


Ну міняти тип поля в базі не правильно бо не відомо як будуть працювати розширення як мінімум оплати/доставки/тоталс,

плюс цінова логіка буде передана середовищу сервера, що матиме наслідки.

 

Якщо досвіду мало, то шукайте розширення або зверніться в комерційний розділ (можу зробити)

Це у вас мабуть якийсь скрипт імпорту "на сиру" передає дані?

 

Моя думка однозначна: зміна типу цінового поля може створити більші проблеми ніж неправильне округлення зараз.

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.