Magento - Различный набор полей и меток для экранов корзины и оформления заказа (обзор заказа) - PullRequest
0 голосов
/ 24 ноября 2010

На странице cart темы Magento по умолчанию мы видим следующую итоговую рамку в правой части экрана:

alt text

Моя проблема заключается в том, чтобы в корзине отображались поля «Налог» и «Общая сумма, включая налог», так как налог рассчитывается, как только мы узнаем адрес доставки. Таким образом, мы хотим показать его только на экране Checkout в Order Review . Однако при переопределении вышеупомянутого шаблона / файла также изменяется поле Порядок просмотра в оформить заказ , чтобы оно выглядело так:

alt text

и экран просмотра заказа на одну страницу, например

alt text

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

Включая подсказки пути к шаблону, я знаю, что дочерние шаблоны для каждого из промежуточных итогов, налога, итога ... вызываются из:

Корзина: /checkout/cart.phtml

Оформление заказа (одна страница): /checkout/onepage/review/info.phtml

У обоих из них есть эта общая линия, которая, я полагаю, делает уловку

$ this-> getChildHtml ( 'Итоги')

Может кто-нибудь помочь мне узнать, как getChildHtml просматривает файл «итогов». Я в замешательстве, потому что есть файл totals.phtml в папке checkout / onepage / review, в то время как оба они фактически используют файлы шаблона в / tax / checkout

Я использую Magento 1.4.1.1 и справочная информация по этому вопросу предыдущий вопрос

Ответы [ 2 ]

1 голос
/ 25 ноября 2010

У вас есть несколько вариантов

  1. Вы можете определить местоположение пользователя с помощью GeoIp и указать, по крайней мере, страну в адресе выставления счета, чтобы получить налоговые оценки для отображения. Например, чтобы получить оценки Великобритании, вы можете сделать (если цитата существует) <?php $this->getQuote()->getBillingAddress()->setCountryId('UK');?> или <?php $this->getQuote()->getShippingAddress()->setCountryId('UK');?>
  2. Вы можете изменить файл шаблона, чтобы он отличался в корзине и оформлении заказа, изменив файл макета checkout.xml и сделав свои условия в отдельных файлах
1 голос
/ 24 ноября 2010

Из вашего предыдущего вопроса вы уже знаете, что вывод идет из файла template/tax/checkout/grandtotal.phtml.Это решение показать 1 или 3 строки итогов основано на этом фрагменте:

<?php if ($this->includeTax() && $this->getTotalExclTax()>=0):?>

Я бы предложил изменить его на ...

<?php if ($this->includeTax() && $this->getTotalExclTax()!=$this->getTotal()):?>

Здесь, когда адрес неизвестени налог равен нулю, два итоговых итоговых значения равны, и поэтому отображается только один.

Это вдвойне выгодно, если адрес указывается в форме "Расчет стоимости доставки и налога", тогда корзина все еще может вернутьсяна 3-строчный выход автоматически, который является плавным.

...