Magento 1.9.3: Як відображати власні ціни на опції (окремо) на кошику та на сторінці оформлення замовлення?


11

Я хочу відобразити власну ціну опціону на кошику та на сторінці оформлення замовлення.

Я слідую за цією URL-адресою, але відображається помилка "Фатальна помилка: виклик функції члена getValue () для не-об'єкта" на

app / design / frontend / default / тема / шаблон / checkout / cart / item / default.phtml

    $optionId = $_option['option_id'];
    $product = $_item->getProduct();
    $option = $product->getOptionById($optionId);
    $itemOption = $_item->getOptionByCode('option_' . $option->getId());
    $price = false;
    foreach ($option->getValues() as $values) {
        if ($values->getId() == $itemOption['value']) {
            $price = $values->price;
        }
    }
    if ($price !== false) {
        echo Mage::helper('core')->currency($price);
    }

Довідкова URL: /programming/11966256/magento-custom-options-showing-price-in-cart-checkout-page

У мене є ще одна вимога щодо ціни на замовлення опцій на кошику та сторінці оформлення замовлення.

Перейдіть нижче за посиланням і поставте прапорець "Цікавить вишивка". Деякі параметри показують, які є спеціальні параметри продукту. Тут два варіанти мають ціну "Плата за створення логотипу" та "Плата за логотип вишивки" . Коли я вибираю всі параметри і додаю в кошик. На сторінці кошика, Якщо я збільшую кількість товару, ціна всіх опцій збільшується з кількістю. Але я хочу, щоб при збільшенні кількості товару лише спеціальна опція "Плата за логотип вишивки ($ 35)" змінювалася залежно від кількості, а не "Плата за створення логотипу ($ 300)" .

Приклад: Якщо ціна товару становить 50 доларів, а у продукту є два спеціальні варіанти, такі як “Плата за створення логотипу (300 доларів)” та “Збір логотипу на вишиванку (35 доларів США)” . Коли ми додаємо товар (кількість 1) у кошик з обома спеціальними параметрами (підсумковий показник становить 385 доларів).

Підсумковий результат: (ціна товару ($ 50) + Плата за створення логотипу ($ 300) + Заряд логотипу вишивки ($ 35)) * 1 = $ 385

Тепер ми збільшуємо кількість продукту (2), тоді підсумковий:

Підсумковий результат: (ціна товару ($ 50) + Плата за створення логотипу ($ 300) + Заряд логотипу вишивки ($ 35)) * 2 = $ 770

Але я хочу змінитись у підмета. Я хочу підсумковий, як це:

Підсумковий результат: ((ціна товару ($ 50) + плата за логотип вишивки ($ 35)) * 2) + плата за створення логотипу ($ 300) = $ 470 ($ 170 + $ 300)

"Плата за створення логотипу ($ 300)" не залежить від кількості, додайте лише одну кількість для одного продукту.

Означає дисплей "Одинична ціна" продукту без ціни на замовлення

Демонстраційна URL-адреса: http://superbuniforms.com/magento/medical-lab-coat-unisex-sky-blue.html

Будь ласка, підкажіть.

Дякую!


привіт чандра Бхушан, чи потрібен вам вихід, як показано на цьому екрані? prnt.sc/fbjupp
Nagaraju K

так, але деякі зміни. У вашому знімку екрана спеціальна ціна (238 доларів США і 30 доларів США) не включена в підсумковий номер, але мені потрібно додати в підсумкові дані. Згідно з вашим знімком екрана, мені потрібно таке "(ціна одиниці ($ 35,62) + варіант кадру ($ 30)) * 2 (кількість) + квадрат ($ 238 * 1) = $ 369,24 (підсумкова частина товару)"
Чандра Бушан

Ви повідомляєте "Фатальна помилка: виклик функції члена getValue ()", але я не бачу жодного getValue () у вашому коді ¿?
Рауль Санчес

Відповіді:


1

Потрібно замінити файл phtml та додати спеціальну ціну.

app\design\frontend\venoder\theme\Magento_Catalog\templates\product\view\addtocart.phtml.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.