Я хочу отобразить цену пользовательской опции на странице корзины и оформления заказа.
Я следую за этим URL, но отображается ошибка «Неустранимая ошибка: вызов функции-члена getValue () для необъекта» в
приложение / дизайн / интерфейс / по умолчанию / тема / шаблон / выписка / корзина / товар / 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
Пожалуйста, предложите.
Спасибо!
источник
Ответы:
Вам нужно переопределить файл phtml и добавить пользовательскую цену.
app\design\frontend\venoder\theme\Magento_Catalog\templates\product\view\addtocart.phtml
,источник