У меня продукты установлены одинаково (насколько я могу судить), и все они были импортированы с универсальным шаблоном CSV.
- Конфигурируемая цена 29,99
- Ассоциированный простой продукт с коротким рукавом составляет 29,99
- Ассоциированный простой продукт с длинным рукавом составляет 39,99
Недавно был выставлен счет-фактура на изделие с длинным рукавом ( ZTWS-SBLS-XL ) по цене 39,99 при настраиваемой цене 29,99. Как заставить простую цену продукта переопределить настраиваемую цену продукта? Оба продукта, указанные ниже, настроены идентично с их родительским конфигурируемым продуктом и как простые продукты.
Счет-фактура:
Item Sku Qty Subtotal
Item one ZLOB-SBLS-XL 1 $39.99
Item Two ZTWS-SBLS-XL 1 $29.99
РЕДАКТИРОВАТЬ: Все еще работает над разрешением этого. Что заставило бы Magento предпочесть простую цену продукта над конфигурируемой ценой продукта или ценой атрибута связанного продукта?
Ответы:
Когда вы создаете настраиваемый продукт, не имеет значения, какова цена простых продуктов - эти цены полностью игнорируются. Поэтому, если вы хотите продать простой продукт A по цене 29,99 долл. США и простой продукт B (39,99 долл. США), необходимо создать настраиваемый продукт, установить его цену в 29,99 долл. США и открыть вкладку « Ассоциированный продукт ». Добавьте продукты, которые вы хотите связать с этим настраиваемым продуктом. После их добавления появляется блок с названием « Супер атрибуты продукта» , в котором содержатся параметры и ценовые различия. Оставьте цену продукта пустой и поместите 10 (+ $ 10) в поле цены продукта В и вуаля: разные простые товары имеют разные цены.
На самом деле есть расширение, которое позволяет вам использовать простые цены на продукты вместо ценовых различий, но это довольно сложно настроить. Поскольку это бесплатное расширение, я надеюсь, что никто не будет жаловаться на то, что я вставил его ссылку здесь:
https://github.com/organicinternet/magento-configurable-simple
источник
Итак, я использую приведенный ниже код в сочетании с таким расширением, как обычные настраиваемые продукты в Интернете.
Приведенный ниже код предназначен для процесса корзины / оформления заказа. По сути, это обновление настраиваемой модели цены, которая передает расчет цены в простой продукт в случае добавления продукта в корзину - это решение НЕ отображает цены на самой странице продукта (однако есть много расширений, которые уже делают это).
Обновите app / code / core / Mage / Catalog / Model / Product / Type / Configurable / Price.php (в идеале вы используете расширение или локальное переопределение в app / code / local)
Обновите метод: getFinalPrice, измените на
Затем добавьте эту функцию прямо под getFinalPrice:
Вы можете видеть, что в случае, если пользователь «настроил» продукт (IE, выбрал настраиваемые параметры), мы определяем связанный простой продукт и передаем управление его модели ценообразования, в противном случае, если продукт не «настроен» (IE, мы просматриваем на странице товара) действуем как обычно
источник
Использование Magento версии 1.9.2.2
Может быть, немного лучшее решение, использовать подход «Обозреватель» вместо взлома ядра или даже переопределения стандартного класса Model Price, например app / code / core / Mage / Catalog / Model / Product / Type / Configurable / Price.php
Все, что вам нужно сделать, это использовать код Алана в вашем только что созданном Обозревателе, единственное отличие - это не возвращать
Замените его следующим:
Следуйте за этим Observer.php
Config.xml
Надеюсь, это решит проблему .. :)
источник
Если простые продукты имеют разную цену, но настроены на конфигурируемый продукт без фиксированной или процентной настройки цены, то будет взята цена конфигурируемого продукта. Независимо от того, какие простые продукты покупаются, их цена не учитывается.
Чтобы обновить его, просто перейдите в родительский продукт в разделе администратора, а затем на вкладке
Associated Products
вы можете обновить цену каждого дочернего продукта, чтобы добавить дополнительную цену к цене родительского продукта.источник
Я также имею ту же проблему, и я исправил с помощью приведенного ниже кода. Это будет работать и в админской части, если вы заказываете у админа (для телефонной связи)
Наблюдайте это событие,
и добавьте следующий код в ваш Observer.php
Он получит цену соответствующего товара и сохранится в цитате.
источник
$item->setOriginalCustomPrice($sprice);
и$item->setOriginalPrice($price);
, что позволяет несколько настраиваемых элементов, которые указывают на один и тот же продукт, в корзине, с разными ценами.Пожалуйста, следуйте инструкциям ниже, чтобы изменить цену супер атрибута
Сначала используйте наблюдателей "catalog_product_get_final_price". Сделайте наблюдателей такими:
Откройте ваш модуль config.xml и используйте следующий код:
Теперь создайте файл Observer.php в модели и код ниже
Теперь откройте app / design / frontend / default / yourtheme / template / catalog / product / view / type / options / configurable.phtml и вставьте ниже код в любом месте файла
Теперь откройте js / varien / configurable.js и измените функцию reloadPrice, как показано ниже, или вы можете также заменить всю эту функцию
Код взят из: http://chandreshrana.blogspot.in/2016/03/set-simple-product-price-instead-of.html
источник