Intereting Posts
GAE, PHP и GCM: не удалось открыть поток: HTTP-запрос не удался! Метод HTTP / 1.0 405 не разрешен Smarty + CodeIgniter – правильный способ использования модели PHP – разница в месяцах DateTime, не учитывающая разницу в году страницу поиска, которая позволяет пользователю выбирать между тремя типами, используя php mysql Данные формы POST jQuery mysql перемещает строку между таблицами Изучение моделирования данных (как объединить разумную базу данных) Статические данные сохраняются для каждого динамически генерируемого поля и кнопки отправки Javascript «unescape» в PHP Simpletest browser (php) на сайте asp, который не позволяет напрямую связывать база данных codeigniter перемещается в другую таблицу Страница регистрации и регистрации Laravel 5.5 говорит: страница истекла из-за неактивности. Loop mysql_fetch_assoc с использованием foreach вместо цикла while Правила перезаписи правил CodeIgniter и контроллер Добавление моей настраиваемой библиотеки PHP в include_path

Magento получает корзину за единицу товара вкл. налог

У меня довольно странная проблема, я надеюсь, что кто-то может мне помочь.

Вот основные параметры конфигурации, которые влияют на мою проблему:

  • Отображаются цены каталога в панели администратора, включая налоги
  • Цены каталога в интерфейсе показаны с учетом налогов
  • Элементы в корзине покупок отображаются без учета налога (поэтому он отображается отдельно около промежуточного итога).

Пока все работает нормально. Проблема возникает в пользовательском модуле мини-тележки ajax. Я хватаю коллекцию предметов из корзины, но, поскольку я получаю цену от товара в корзине, я получаю ее без налога.

Вот какой код, чтобы показать, что я имею в виду. Я возьму 20% налог и продукт, у которого цена администратора (включая налог) установлена ​​на 120 $ , вариант, который стоит 60 $ (включая налоги). Исключая налог, это будет 100 $ и 50 $ . Я хочу получить цену + вариант + налог => 180 $

$quote = Mage::getSingleton('checkout/session')->getQuote(); $items = $quote->getAllVisibleItems(); foreach ($items as $item) { echo $item->getPrice(); // 150$ - price excluding tax echo $item->getPriceInclTax(); // 150$ - price excluding tax echo $item->getProduct()->getPrice(); // 120$ price including tax, BUT without the customer selected options. } 

PS: Пользовательский параметр, о котором я говорю, выбран пользователем, например, установить флажок, который добавляет + 50 $ к цене продукта.

Solutions Collecting From Web of "Magento получает корзину за единицу товара вкл. налог"

 - Get products id, name, price, quantity, etc. present in your cart. - Get number of items in cart and total quantity in cart. - Get base total price and grand total price of items in cart. Get all items information in cart // $items = Mage::getModel('checkout/cart')->getQuote()->getAllItems(); $items = Mage::getSingleton('checkout/session')->getQuote()->getAllItems(); foreach($items as $item) { echo 'ID: '.$item->getProductId().'<br />'; echo 'Name: '.$item->getName().'<br />'; echo 'Sku: '.$item->getSku().'<br />'; echo 'Quantity: '.$item->getQty().'<br />'; echo 'Price: '.$item->getPrice().'<br />'; echo "<br />"; } Get total items and total quantity in cart $totalItems = Mage::getModel('checkout/cart')->getQuote()->getItemsCount(); $totalQuantity = Mage::getModel('checkout/cart')->getQuote()->getItemsQty(); Get subtotal and grand total price of cart $subTotal = Mage::getModel('checkout/cart')->getQuote()->getSubtotal(); $grandTotal = Mage::getModel('checkout/cart')->getQuote()->getGrandTotal(); 

Ты пробовал:

 $product->getFinalPrice(); // or this? $product->getPriceModel()->getFinalPrice($qty, $product); 

Что такое $item->getOptions() ? Вы пробовали $item->getData('price') ? Как вы применяете свои собственные параметры? Что такое $item->debug() ? Возможно, вы можете найти то, что вам нужно.

С уважением, Саймон

Я не нашел решения для моей точной проблемы, но я изменил настройки, чтобы имитировать эту точную функциональность, и проблема, с которой я столкнулась, больше не существует.

Прежде всего, я удалил все налоги на сайте и сказал magento, что все цены исключают налог (даже если они включают налог).

Снижение налогов теперь осуществляется посредством поощрения, применяемого в пользовательской группе, поэтому для

 $tax = 20; // percent 

Я добавляю сокращение

 (1 - (1 / ($tax / 100 + 1)))*100 // for 20% tax => 16.6667% reduction // for 24% tax => 19.3548% reduction 

с 4 десятичными знаками (это столько же, сколько пурпурный). Время от времени у него может быть ошибка 1 цент – так что если это не проблема, иди за ней!

Теперь цены на всем сайте будут показаны точно для продукта (потому что поощрение применяется в корзине, а не за продукт).

Вы можете попробовать это:

 $grandTotal = $this->helper('checkout/cart')->getQuote()->getGrandTotal(); echo $text .= $this->__(' Total: %s', $this->helper('core')->formatPrice($grandTotal, false)); 

показать количество телеги в моем заголовке

 if ($parentBlock = $this->getParentBlock()) { $count = $this->helper('checkout/cart')->getSummaryCount(); if( $count == 1 ) { echo $text = $this->__('My Cart (%s item)', $count); } elseif( $count > 0 ) { echo $text = $this->__('My Cart (%s items)', $count); } else { echo $text = $this->__('My Cart (0 items)'); } } 

показать общую стоимость корзины в моем заголовке

 $grandTotal = $this->helper('checkout/cart')->getQuote()->getGrandTotal(); echo $text .= $this->__(' Total: %s', $this->helper('core')->formatPrice($grandTotal, false));