Как сделать цены кратными 5 рублям?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Владислав Булочников
  • Группа: Заблокирован
  • Сообщений: 6
  • Регистрация: 16.08.2012

07.09.2012 17:59

Есть ли какой-то модуль округления цен? Мне надо чтобы цена была кратна 5 рублям.
Типа 230 руб, 235 руб, 240 руб...

#2 Хыиуду
  • Группа: Пользователь
  • Сообщений: 56
  • Регистрация: 05.07.2012

10.09.2012 11:41

Если надо "вотпрямщас", а программиста под рукой нет - можно воспользоваться таким извращением:
app\design\frontend\default\default\template\catalog\product\list.phtml
После слов
foreach ($_productCollection as $_product):
вставить
$_product->setPrice(5*round($_product->getPrice()/5))->save();
Способ примерно соответствует наркозу гирей - столь же неизящно, но эффективно.

#3 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

10.09.2012 19:49

Качественное решение заключается в округлении цен до импорта их в Magento.
Указанное выше некачественное решение приведёт к тому, что стоимость товаров на витрине не будут совпадать со стоимостью товаров в момент оплаты.

#4 Хыиуду
  • Группа: Пользователь
  • Сообщений: 56
  • Регистрация: 05.07.2012

11.09.2012 09:32

А я не зря в конце save() поставил.
Не совпадать они будут ровно в одном случае - если кто-то проберется на страницу товара, минуя список товаров.
Впрочем, в app\design\frontend\default\default\template\catalog\product\view.phtml можно тоже такую же штуку вставить. И тогда уже не обойти, кроме как руками и программно.
Насчет качественного решения согласен - в идеале так и надо.
Либо, если нет возможности округлить в источнике - повесить observer на событие загрузки и менять продукт уже там.

#5 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

11.09.2012 09:45

Это всё от непонимания архитектуры: ценообразования настраиваемых товаров, например. И не только.

Поделиться темой: