SlideShare a Scribd company logo
Цены в Magento 2 
Magento 2 Pricing 
Magento is an eBay Inc. company. © 2014 Magento, Inc. All rights reserved.
О себе 
 Backend разработчик Magento 
 В Magento 2.5 года 
 Проэкты 
 Magento Testing Framework 
 Filesystem 
 Full Page Cache 
 Pricing 
 Service Layer 
 Сейчас занимаюсь 
 MTF Parallel Run и Magento 2 Sales 
© 2014 Magento, Inc. Page | 2
Содержание 
 Стоимость широких возможностей 
 Реализация 
 Организация сущностей 
 Расширяемость 
 Итоги 
© 2014 Magento, Inc. Page | 3
1 Широкие возможности 
© 2014 Magento, Inc. Page | 4
Разнообразие цен 
 Тип цены 
 Тип продукта 
 Скидки 
 Налоги 
 Настройки расчета 
 Настройки отображения 
© 2014 Magento, Inc. Page | 5 
~500 000
<?php 
$_coreHelper = $this->helper('MagentoCoreHelperData'); 
$weeeHelper = $this->helper('MagentoWeeeHelperData'); 
$priceHelper = $this->helper('MagentoCatalogHelperProductPrice'); 
/* @var $_coreHelper MagentoCoreHelperData */ 
/* @var $weeeHelper MagentoWeeeHelperData */ 
/* @var $priceHelperMagentoCatalogHelperProductPrice */ 
$_product = $this->getProduct(); 
$_storeId = $_product->getStoreId(); 
$_id = $_product->getId(); 
$_weeeSeparator = ''; 
$_simplePricesTax = ($priceHelper->displayPriceIncludingTax() || $priceHelper->displayBothPrices()); 
$_minimalPriceValue = $_product->getMinimalPrice(); 
$_minimalPrice = $priceHelper->getPrice($_product, $_minimalPriceValue, $_simplePricesTax); 
?> 
<?php $_weeeTaxAmount = $weeeHelper->getAmountForDisplay($_product); ?> 
<?php if ($weeeHelper->typeOfDisplay($_product, array(MagentoWeeeModelTax::DISPLAY_INCL_DESCR, 
MagentoWeeeModelTax::DISPLAY_EXCL_DESCR_INCL, 4))): ?> 
<?php $_weeeTaxAmount = $weeeHelper->getAmount($_product); ?> 
<?php $_weeeTaxAttributes = $weeeHelper->getProductWeeeAttributesForDisplay($_product); ?> 
<?php endif; ?> 
<?php $_weeeTaxAmountInclTaxes = $_weeeTaxAmount; ?> 
<?php if ($weeeHelper->isTaxable() && !$priceHelper->priceIncludesTax($_storeId)): ?> 
<?php $_attributes = $weeeHelper->getProductWeeeAttributesForRenderer($_product, null, null, null, true); ?> 
<?php $_weeeTaxAmountInclTaxes = $weeeHelper->getAmountInclTaxes($_attributes); ?> 
<?php endif; ?> 
<div class="price-box"> 
<?php $_price = $priceHelper->getPrice($_product, $_product->getPrice()) ?> 
<?php $_regularPrice = $priceHelper->getPrice($_product, $_product->getPrice(), $_simplePricesTax) ?> 
<?php $_finalPrice= $priceHelper->getPrice($_product, $_product->getFinalPrice()) ?> 
<?php $_finalPriceInclTax = $priceHelper->getPrice($_product, $_product->getFinalPrice(), true) ?> 
<?php $_weeeDisplayType = $weeeHelper->getPriceDisplayType(); ?> 
<?php if ($_finalPrice >= $_price): ?> 
<?php if ($priceHelper->displayBothPrices()): ?> 
<?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + 
$_weeeTaxAttribute->getTaxAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price, true, false) ?> 
</span> 
</span> 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<span class="weee"> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
</span> 
<?php endforeach; ?> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
<?php else: ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php if ($_finalPrice == $_price): ?> 
<?php echo $_coreHelper->currency($_price, true, false) ?> 
<?php else: ?> 
<?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
<?php endif; ?> 
</span> 
© 2014 Magento, </span> 
Inc. Page | 6 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> 
</span> 
</span> 
<?php endif; ?> 
<?php else: ?> 
<?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute- 
>getTaxAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
<span class="regular-price"><?php echo $_coreHelper->currency($_price,true,true) ?></span><br /> 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<span class="weee"> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
</span> 
<?php endforeach; ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
</span> 
<?php else: ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php if ($_finalPrice== $_price): ?> 
<?php echo $_coreHelper->currency($_price, true, true) ?> 
<?php else: ?> 
<?php echo $_coreHelper->currency($_finalPrice, true, true) ?> 
<?php endif; ?> 
</span> 
<?php endif; ?> 
<?php endif; ?> 
<?php else: /* if ($_finalPrice == $_price): */ ?> 
<?php $_originalWeeeTaxAmount = $weeeHelper->getOriginalAmount($_product); ?> 
<?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
</span> 
</p> 
<?php if ($priceHelper->displayBothPrices()): ?> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?phpecho __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
</p> 
<?php else: ?> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</p> 
<?php endif; ?> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
</span> 
</p> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
</p> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
</span> 
</p> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute- 
>getTaxAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
</p> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice, true, false) ?> 
</span> 
</p> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
</span> 
</span> 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<span class="weee"> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
</span> 
<?php endforeach; ?> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
</p> 
<?php else: // excl. ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice, true, false) ?> 
</span> 
</p> 
<?php if ($priceHelper->displayBothPrices()): ?> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?phpecho __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?phpecho __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> 
</span> 
</span> 
</p> 
<?php else: ?> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
</span> 
</p> 
<?php endif; ?> 
<?php endif; ?> 
<?php endif; /* if ($_finalPrice == $_price): */ ?> 
<?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue < $_product->getFinalPrice()): ?> 
<?php $_minimalPriceDisplayValue = $_minimalPrice; ?> 
<?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, array(0, 1, 4))): ?> 
<?php $_minimalPriceDisplayValue = $_minimalPrice + $_weeeTaxAmount; ?> 
<?php endif; ?> 
<?php if ($this->getUseLinkForAsLowAs()):?> 
<a href="<?phpecho $_product->getProductUrl(); ?>" class="minimal-price-link"> 
<?php else:?> 
<span class="minimal-price-link"> 
<?php endif?> 
<span class="label"><?php echo __('As low as:') ?></span> 
<span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_minimalPriceDisplayValue, true, false) ?> 
</span> 
<?php if ($this->getUseLinkForAsLowAs()):?> 
</a> 
<?php else:?> 
</span> 
<?php endif?> 
<?php endif; /* if ($this->getDisplayMinimalPrice() && $_minimalPrice && $_minimalPrice < $_finalPrice): */ ?> 
</div>
Проблемы 
 Сложность 
 Темплейты 
 Javascript 
 Модулярность 
 Tax 
 Weee 
 И т. д. 
 Дубликаты 
© 2014 Magento, Inc. Page | 7
Решения 
 Сложность 
 Концентрация работы с ценами в одном компоненте 
 Организация сущностей 
 Четкая граница между расчетом и отрисовкой 
 Модулярность 
 DI 
 Layout 
 “Adjustment” 
 Дубликаты 
© 2014 Magento, Inc. Page | 8
2 Реализация 
© 2014 Magento, Inc. Page | 9
Общая схема 
© 2014 Magento, Inc. Page | 10
Вычисление цены 
© 2014 Magento, Inc. Page | 11 
getPriceInfo() 
getPrice($priceCode) 
getAmount () 
apply() 
9.00 
0.99 
9.99
Отображение цены 
render() 
render() 
apply() 
© 2014 Magento, Inc. Page | 12 
toHtml() 
toHtml() 
toHtml()
Фронт 
© 2014 Magento, Inc. Page | 13 
Amounts 
Price 
Adjustments
3 Расширяемость 
© 2014 Magento, Inc. Page | 14
Точки расширения 
 Layout (~ Template and Block Pool) 
 DI (~ Price and Adjustment Models Pool) 
 Параметры отображения 
© 2014 Magento, Inc. Page | 15
Pricing layout 
Page layout 
© 2014 Magento, Inc. Page | 16 
Pricing 
Render 
Block 
Pricing layout 
Bundle 
Special Price 
Configurable 
Price 
Tier Price 
PriceRenderPool & AdjustmentRenderPool
Pricing layout fallback 
1. Конкретный тип продукта и цены 
2. Конкретный тип продукта 
3. Конкретный тип цены 
4. Стандартный class/template 
© 2014 Magento, Inc. Page | 17
DI 
© 2014 Magento, Inc. Page | 18 
Adjustments 
Pool 
Tax 
Price Pool 
Weee 
Special Price 
Custom Price
Расширяемость 4х4 
Pricing layout DI 
© 2014 Magento, Inc. Page | 19 
Price Pool 
Adjustment 
Pool 
Price Render 
Pool 
Adjustment 
Render Pool
+1. Параметры отображения 
 Указываются: 
 при обьявление сущностей так 
 при отрисовке конкретного блока цены 
 Доступны каждому блоку/темплейту 
 Примеры: 
 Zone (category, product) 
 Skip Adjustments 
 Include Container 
 Display Label 
© 2014 Magento, Inc. Page | 20
4 Итоги 
© 2014 Magento, Inc. Page | 21
Итоги 
 Модулярность 
 Простота в применении 
 Широкие возможности конфигурации 
 Отсутствие дубликатов кода 
 Отсутствие вычислений в темплейтах 
© 2014 Magento, Inc. Page | 22
<?php 
$_coreHelper = $this->helper('MagentoCoreHelperData'); 
$weeeHelper = $this->helper('MagentoWeeeHelperData'); 
$priceHelper = $this->helper('MagentoCatalogHelperProductPrice'); 
/* @var $_coreHelper MagentoCoreHelperData */ 
/* @var $weeeHelper MagentoWeeeHelperData */ 
/* @var $priceHelperMagentoCatalogHelperProductPrice */ 
$_product = $this->getProduct(); 
$_storeId = $_product->getStoreId(); 
$_id = $_product->getId(); 
$_weeeSeparator = ''; 
$_simplePricesTax = ($priceHelper->displayPriceIncludingTax() || $priceHelper->displayBothPrices()); 
$_minimalPriceValue = $_product->getMinimalPrice(); 
$_minimalPrice = $priceHelper->getPrice($_product, $_minimalPriceValue, $_simplePricesTax); 
?> 
<?php $_weeeTaxAmount = $weeeHelper->getAmountForDisplay($_product); ?> 
<?php if ($weeeHelper->typeOfDisplay($_product, array(MagentoWeeeModelTax::DISPLAY_INCL_DESCR, 
MagentoWeeeModelTax::DISPLAY_EXCL_DESCR_INCL, 4))): ?> 
<?php $_weeeTaxAmount = $weeeHelper->getAmount($_product); ?> 
<?php $_weeeTaxAttributes = $weeeHelper->getProductWeeeAttributesForDisplay($_product); ?> 
<?php endif; ?> 
<?php $_weeeTaxAmountInclTaxes = $_weeeTaxAmount; ?> 
<?php if ($weeeHelper->isTaxable() && !$priceHelper->priceIncludesTax($_storeId)): ?> 
<?php $_attributes = $weeeHelper->getProductWeeeAttributesForRenderer($_product, null, null, null, true); ?> 
<?php $_weeeTaxAmountInclTaxes = $weeeHelper->getAmountInclTaxes($_attributes); ?> 
<?php endif; ?> 
<div class="price-box"> 
<?php $_price = $priceHelper->getPrice($_product, $_product->getPrice()) ?> 
<?php $_regularPrice = $priceHelper->getPrice($_product, $_product->getPrice(), $_simplePricesTax) ?> 
<?php $_finalPrice= $priceHelper->getPrice($_product, $_product->getFinalPrice()) ?> 
<?php $_finalPriceInclTax = $priceHelper->getPrice($_product, $_product->getFinalPrice(), true) ?> 
<?php $_weeeDisplayType = $weeeHelper->getPriceDisplayType(); ?> 
<?php if ($_finalPrice >= $_price): ?> 
<?php if ($priceHelper->displayBothPrices()): ?> 
<?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + 
$_weeeTaxAttribute->getTaxAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price, true, false) ?> 
</span> 
</span> 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<span class="weee"> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
</span> 
<?php endforeach; ?> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
<?php else: ?> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php if ($_finalPrice == $_price): ?> 
<?php echo $_coreHelper->currency($_price, true, false) ?> 
<?php else: ?> 
<?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
<?php endif; ?> 
</span> 
© 2014 Magento, </span> 
Inc. Page | 23 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> 
</span> 
</span> 
<?php endif; ?> 
<?php else: ?> 
<?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute- 
>getTaxAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
<span class="regular-price"><?php echo $_coreHelper->currency($_price,true,true) ?></span><br /> 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<span class="weee"> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
</span> 
<?php endforeach; ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> 
</span> 
<?php else: ?> 
<span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php if ($_finalPrice== $_price): ?> 
<?php echo $_coreHelper->currency($_price, true, true) ?> 
<?php else: ?> 
<?php echo $_coreHelper->currency($_finalPrice, true, true) ?> 
<?php endif; ?> 
</span> 
<?php endif; ?> 
<?php endif; ?> 
<?php else: /* if ($_finalPrice == $_price): */ ?> 
<?php $_originalWeeeTaxAmount = $weeeHelper->getOriginalAmount($_product); ?> 
<?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
</span> 
</p> 
<?php if ($priceHelper->displayBothPrices()): ?> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?phpecho __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
</p> 
<?php else: ?> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</p> 
<?php endif; ?> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
</span> 
</p> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
</p> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> 
</span> 
</p> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> 
</span> 
</span> 
<span class="weee">( 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<?php echo $_weeeSeparator; ?> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute- 
>getTaxAmount(), true, true); ?> 
<?php $_weeeSeparator = ' + '; ?> 
<?php endforeach; ?> 
)</span> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
</p> 
<?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice, true, false) ?> 
</span> 
</p> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?php echo __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
</span> 
</span> 
<?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> 
<span class="weee"> 
<?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> 
</span> 
<?php endforeach; ?> 
<span class="price-including-tax"> 
<span class="label"><?php echo __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> 
</span> 
</span> 
</p> 
<?php else: // excl. ?> 
<p class="old-price"> 
<span class="price-label"><?php echo __('Regular Price:') ?></span> 
<span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_regularPrice, true, false) ?> 
</span> 
</p> 
<?php if ($priceHelper->displayBothPrices()): ?> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price-excluding-tax"> 
<span class="label"><?phpecho __('Excl. Tax:') ?></span> 
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
</span> 
</span> 
<span class="price-including-tax"> 
<span class="label"><?phpecho __('Incl. Tax:') ?></span> 
<span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> 
</span> 
</span> 
</p> 
<?php else: ?> 
<p class="special-price"> 
<span class="price-label"><?php echo __('Special Price:') ?></span> 
<span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_finalPrice, true, false) ?> 
</span> 
</p> 
<?php endif; ?> 
<?php endif; ?> 
<?php endif; /* if ($_finalPrice == $_price): */ ?> 
<?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue < $_product->getFinalPrice()): ?> 
<?php $_minimalPriceDisplayValue = $_minimalPrice; ?> 
<?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, array(0, 1, 4))): ?> 
<?php $_minimalPriceDisplayValue = $_minimalPrice + $_weeeTaxAmount; ?> 
<?php endif; ?> 
<?php if ($this->getUseLinkForAsLowAs()):?> 
<a href="<?phpecho $_product->getProductUrl(); ?>" class="minimal-price-link"> 
<?php else:?> 
<span class="minimal-price-link"> 
<?php endif?> 
<span class="label"><?php echo __('As low as:') ?></span> 
<span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> 
<?php echo $_coreHelper->currency($_minimalPriceDisplayValue, true, false) ?> 
</span> 
<?php if ($this->getUseLinkForAsLowAs()):?> 
</a> 
<?php else:?> 
</span> 
<?php endif?> 
<?php endif; /* if ($this->getDisplayMinimalPrice() && $_minimalPrice && $_minimalPrice < $_finalPrice): */ ?> 
</div>
Код 
echo $this->getLayout() 
© 2014 Magento, Inc. Page | 24 
->getBlock('product.price.render') 
->render('final_price', $product, $arguments);
Фронт 
© 2014 Magento, Inc. Page | 25
5 
© 2014 Magento, Inc. Page | 26 
Q&A
Спасибо! 
© 2014 Magento, Inc. Page | 27 
Контакты: 
email: sivashchenko@ebay.com 
skype: serg.ivashchenko

More Related Content

PDF
Gail villanueva add muscle to your wordpress site
PDF
Shortcodes In-Depth
PDF
Manipulating Magento - Meet Magento Netherlands 2018
KEY
Unit testing with zend framework PHPBenelux
DOCX
logic321
PDF
Dealing With Legacy PHP Applications
PDF
Unit testing with zend framework tek11
PDF
sfDay Cologne - Sonata Admin Bundle
Gail villanueva add muscle to your wordpress site
Shortcodes In-Depth
Manipulating Magento - Meet Magento Netherlands 2018
Unit testing with zend framework PHPBenelux
logic321
Dealing With Legacy PHP Applications
Unit testing with zend framework tek11
sfDay Cologne - Sonata Admin Bundle

What's hot (20)

PDF
Curso Symfony - Clase 2
TXT
Daily notes
PDF
Curso Symfony - Clase 4
PPTX
Fixing Magento Core for Better Performance - Ivan Chepurnyi
PDF
PHPunit and you
KEY
Apostrophe (improved Paris edition)
PPTX
Top 5 Magento Secure Coding Best Practices
PPTX
Building secured wordpress themes and plugins
PPT
Zend framework 04 - forms
PDF
Moving a high traffic ZF1 Enterprise Application to SF2 - Lessons learned
KEY
Keeping It Simple
PPSX
WordPress Theme Design and Development Workshop - Day 3
PPTX
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
PDF
Meet Magento Sweden - Magento 2 Layout and Code Compilation for Performance
PDF
Introduction to Zend Framework web services
PPTX
Building Potent WordPress Websites
PPTX
Wp query
PDF
November Camp - Spec BDD with PHPSpec 2
PPTX
WordPress overloading Gravityforms using hooks, filters and extending classes
DOC
20110820 header new style
Curso Symfony - Clase 2
Daily notes
Curso Symfony - Clase 4
Fixing Magento Core for Better Performance - Ivan Chepurnyi
PHPunit and you
Apostrophe (improved Paris edition)
Top 5 Magento Secure Coding Best Practices
Building secured wordpress themes and plugins
Zend framework 04 - forms
Moving a high traffic ZF1 Enterprise Application to SF2 - Lessons learned
Keeping It Simple
WordPress Theme Design and Development Workshop - Day 3
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Meet Magento Sweden - Magento 2 Layout and Code Compilation for Performance
Introduction to Zend Framework web services
Building Potent WordPress Websites
Wp query
November Camp - Spec BDD with PHPSpec 2
WordPress overloading Gravityforms using hooks, filters and extending classes
20110820 header new style
Ad

Similar to Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2 (20)

KEY
Who Needs Ruby When You've Got CodeIgniter
PDF
Dealing with Legacy PHP Applications
PDF
Tadhg Bowe - i18n: how can I rephrase that?
PDF
Blog Hacks 2011
PDF
Hacking Movable Type
PPTX
Symfony 1, mi viejo amigo
PPT
Os Nixon
KEY
Unit testing zend framework apps
PPTX
Magento Indexes
PDF
Workshop quality assurance for php projects - phpbelfast
PDF
Workshop quality assurance for php projects - ZendCon 2013
PPTX
Using of TDD practices for Magento
PDF
Hooks WCSD12
PDF
PHPSpec - the only Design Tool you need - 4Developers
PPTX
Meet Magento Belarus debug Pavel Novitsky (eng)
PDF
WordCamp Praga 2015
PDF
Unit testing after Zend Framework 1.8
PPT
Custom Post Types and Meta Fields
PPTX
Zero to SOLID
PPTX
Web development today
Who Needs Ruby When You've Got CodeIgniter
Dealing with Legacy PHP Applications
Tadhg Bowe - i18n: how can I rephrase that?
Blog Hacks 2011
Hacking Movable Type
Symfony 1, mi viejo amigo
Os Nixon
Unit testing zend framework apps
Magento Indexes
Workshop quality assurance for php projects - phpbelfast
Workshop quality assurance for php projects - ZendCon 2013
Using of TDD practices for Magento
Hooks WCSD12
PHPSpec - the only Design Tool you need - 4Developers
Meet Magento Belarus debug Pavel Novitsky (eng)
WordCamp Praga 2015
Unit testing after Zend Framework 1.8
Custom Post Types and Meta Fields
Zero to SOLID
Web development today
Ad

More from Atwix (20)

PPTX
Igor Miniailo - Magento 2 API Design Best Practices
PPTX
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
PDF
Yaroslav Rogoza - Development Environment: Local or Remote?
PDF
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
PPTX
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
PDF
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
PPTX
Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...
PDF
Владимир Дубина - Meet Magento Ukraine - Data consistency
PDF
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
PPTX
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
PDF
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
PPTX
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
PPTX
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
PDF
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
PDF
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
PDF
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
PDF
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
PPTX
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
PPTX
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
PDF
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Igor Miniailo - Magento 2 API Design Best Practices
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Yaroslav Rogoza - Development Environment: Local or Remote?
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...
Владимир Дубина - Meet Magento Ukraine - Data consistency
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Electronic commerce courselecture one. Pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Unlocking AI with Model Context Protocol (MCP)
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Review of recent advances in non-invasive hemoglobin estimation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
Electronic commerce courselecture one. Pdf
Network Security Unit 5.pdf for BCA BBA.
Big Data Technologies - Introduction.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
sap open course for s4hana steps from ECC to s4
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding
Unlocking AI with Model Context Protocol (MCP)
The AUB Centre for AI in Media Proposal.docx
NewMind AI Weekly Chronicles - August'25 Week I
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Review of recent advances in non-invasive hemoglobin estimation

Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2

  • 1. Цены в Magento 2 Magento 2 Pricing Magento is an eBay Inc. company. © 2014 Magento, Inc. All rights reserved.
  • 2. О себе  Backend разработчик Magento  В Magento 2.5 года  Проэкты  Magento Testing Framework  Filesystem  Full Page Cache  Pricing  Service Layer  Сейчас занимаюсь  MTF Parallel Run и Magento 2 Sales © 2014 Magento, Inc. Page | 2
  • 3. Содержание  Стоимость широких возможностей  Реализация  Организация сущностей  Расширяемость  Итоги © 2014 Magento, Inc. Page | 3
  • 4. 1 Широкие возможности © 2014 Magento, Inc. Page | 4
  • 5. Разнообразие цен  Тип цены  Тип продукта  Скидки  Налоги  Настройки расчета  Настройки отображения © 2014 Magento, Inc. Page | 5 ~500 000
  • 6. <?php $_coreHelper = $this->helper('MagentoCoreHelperData'); $weeeHelper = $this->helper('MagentoWeeeHelperData'); $priceHelper = $this->helper('MagentoCatalogHelperProductPrice'); /* @var $_coreHelper MagentoCoreHelperData */ /* @var $weeeHelper MagentoWeeeHelperData */ /* @var $priceHelperMagentoCatalogHelperProductPrice */ $_product = $this->getProduct(); $_storeId = $_product->getStoreId(); $_id = $_product->getId(); $_weeeSeparator = ''; $_simplePricesTax = ($priceHelper->displayPriceIncludingTax() || $priceHelper->displayBothPrices()); $_minimalPriceValue = $_product->getMinimalPrice(); $_minimalPrice = $priceHelper->getPrice($_product, $_minimalPriceValue, $_simplePricesTax); ?> <?php $_weeeTaxAmount = $weeeHelper->getAmountForDisplay($_product); ?> <?php if ($weeeHelper->typeOfDisplay($_product, array(MagentoWeeeModelTax::DISPLAY_INCL_DESCR, MagentoWeeeModelTax::DISPLAY_EXCL_DESCR_INCL, 4))): ?> <?php $_weeeTaxAmount = $weeeHelper->getAmount($_product); ?> <?php $_weeeTaxAttributes = $weeeHelper->getProductWeeeAttributesForDisplay($_product); ?> <?php endif; ?> <?php $_weeeTaxAmountInclTaxes = $_weeeTaxAmount; ?> <?php if ($weeeHelper->isTaxable() && !$priceHelper->priceIncludesTax($_storeId)): ?> <?php $_attributes = $weeeHelper->getProductWeeeAttributesForRenderer($_product, null, null, null, true); ?> <?php $_weeeTaxAmountInclTaxes = $weeeHelper->getAmountInclTaxes($_attributes); ?> <?php endif; ?> <div class="price-box"> <?php $_price = $priceHelper->getPrice($_product, $_product->getPrice()) ?> <?php $_regularPrice = $priceHelper->getPrice($_product, $_product->getPrice(), $_simplePricesTax) ?> <?php $_finalPrice= $priceHelper->getPrice($_product, $_product->getFinalPrice()) ?> <?php $_finalPriceInclTax = $priceHelper->getPrice($_product, $_product->getFinalPrice(), true) ?> <?php $_weeeDisplayType = $weeeHelper->getPriceDisplayType(); ?> <?php if ($_finalPrice >= $_price): ?> <?php if ($priceHelper->displayBothPrices()): ?> <?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> </span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute->getTaxAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> </span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price, true, false) ?> </span> </span> <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <span class="weee"> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> </span> <?php endforeach; ?> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> <?php else: ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php if ($_finalPrice == $_price): ?> <?php echo $_coreHelper->currency($_price, true, false) ?> <?php else: ?> <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> <?php endif; ?> </span> © 2014 Magento, </span> Inc. Page | 6 <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> </span> </span> <?php endif; ?> <?php else: ?> <?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> </span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute- >getTaxAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> <span class="regular-price"><?php echo $_coreHelper->currency($_price,true,true) ?></span><br /> <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <span class="weee"> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> </span> <?php endforeach; ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> </span> <?php else: ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php if ($_finalPrice== $_price): ?> <?php echo $_coreHelper->currency($_price, true, true) ?> <?php else: ?> <?php echo $_coreHelper->currency($_finalPrice, true, true) ?> <?php endif; ?> </span> <?php endif; ?> <?php endif; ?> <?php else: /* if ($_finalPrice == $_price): */ ?> <?php $_originalWeeeTaxAmount = $weeeHelper->getOriginalAmount($_product); ?> <?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> </span> </p> <?php if ($priceHelper->displayBothPrices()): ?> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?phpecho __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> </p> <?php else: ?> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </p> <?php endif; ?> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> </span> </p> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> </p> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> </span> </p> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute- >getTaxAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> </p> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice, true, false) ?> </span> </p> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> </span> </span> <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <span class="weee"> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> </span> <?php endforeach; ?> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> </p> <?php else: // excl. ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice, true, false) ?> </span> </p> <?php if ($priceHelper->displayBothPrices()): ?> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?phpecho __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?phpecho __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> </span> </span> </p> <?php else: ?> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> </span> </p> <?php endif; ?> <?php endif; ?> <?php endif; /* if ($_finalPrice == $_price): */ ?> <?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue < $_product->getFinalPrice()): ?> <?php $_minimalPriceDisplayValue = $_minimalPrice; ?> <?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, array(0, 1, 4))): ?> <?php $_minimalPriceDisplayValue = $_minimalPrice + $_weeeTaxAmount; ?> <?php endif; ?> <?php if ($this->getUseLinkForAsLowAs()):?> <a href="<?phpecho $_product->getProductUrl(); ?>" class="minimal-price-link"> <?php else:?> <span class="minimal-price-link"> <?php endif?> <span class="label"><?php echo __('As low as:') ?></span> <span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_minimalPriceDisplayValue, true, false) ?> </span> <?php if ($this->getUseLinkForAsLowAs()):?> </a> <?php else:?> </span> <?php endif?> <?php endif; /* if ($this->getDisplayMinimalPrice() && $_minimalPrice && $_minimalPrice < $_finalPrice): */ ?> </div>
  • 7. Проблемы  Сложность  Темплейты  Javascript  Модулярность  Tax  Weee  И т. д.  Дубликаты © 2014 Magento, Inc. Page | 7
  • 8. Решения  Сложность  Концентрация работы с ценами в одном компоненте  Организация сущностей  Четкая граница между расчетом и отрисовкой  Модулярность  DI  Layout  “Adjustment”  Дубликаты © 2014 Magento, Inc. Page | 8
  • 9. 2 Реализация © 2014 Magento, Inc. Page | 9
  • 10. Общая схема © 2014 Magento, Inc. Page | 10
  • 11. Вычисление цены © 2014 Magento, Inc. Page | 11 getPriceInfo() getPrice($priceCode) getAmount () apply() 9.00 0.99 9.99
  • 12. Отображение цены render() render() apply() © 2014 Magento, Inc. Page | 12 toHtml() toHtml() toHtml()
  • 13. Фронт © 2014 Magento, Inc. Page | 13 Amounts Price Adjustments
  • 14. 3 Расширяемость © 2014 Magento, Inc. Page | 14
  • 15. Точки расширения  Layout (~ Template and Block Pool)  DI (~ Price and Adjustment Models Pool)  Параметры отображения © 2014 Magento, Inc. Page | 15
  • 16. Pricing layout Page layout © 2014 Magento, Inc. Page | 16 Pricing Render Block Pricing layout Bundle Special Price Configurable Price Tier Price PriceRenderPool & AdjustmentRenderPool
  • 17. Pricing layout fallback 1. Конкретный тип продукта и цены 2. Конкретный тип продукта 3. Конкретный тип цены 4. Стандартный class/template © 2014 Magento, Inc. Page | 17
  • 18. DI © 2014 Magento, Inc. Page | 18 Adjustments Pool Tax Price Pool Weee Special Price Custom Price
  • 19. Расширяемость 4х4 Pricing layout DI © 2014 Magento, Inc. Page | 19 Price Pool Adjustment Pool Price Render Pool Adjustment Render Pool
  • 20. +1. Параметры отображения  Указываются:  при обьявление сущностей так  при отрисовке конкретного блока цены  Доступны каждому блоку/темплейту  Примеры:  Zone (category, product)  Skip Adjustments  Include Container  Display Label © 2014 Magento, Inc. Page | 20
  • 21. 4 Итоги © 2014 Magento, Inc. Page | 21
  • 22. Итоги  Модулярность  Простота в применении  Широкие возможности конфигурации  Отсутствие дубликатов кода  Отсутствие вычислений в темплейтах © 2014 Magento, Inc. Page | 22
  • 23. <?php $_coreHelper = $this->helper('MagentoCoreHelperData'); $weeeHelper = $this->helper('MagentoWeeeHelperData'); $priceHelper = $this->helper('MagentoCatalogHelperProductPrice'); /* @var $_coreHelper MagentoCoreHelperData */ /* @var $weeeHelper MagentoWeeeHelperData */ /* @var $priceHelperMagentoCatalogHelperProductPrice */ $_product = $this->getProduct(); $_storeId = $_product->getStoreId(); $_id = $_product->getId(); $_weeeSeparator = ''; $_simplePricesTax = ($priceHelper->displayPriceIncludingTax() || $priceHelper->displayBothPrices()); $_minimalPriceValue = $_product->getMinimalPrice(); $_minimalPrice = $priceHelper->getPrice($_product, $_minimalPriceValue, $_simplePricesTax); ?> <?php $_weeeTaxAmount = $weeeHelper->getAmountForDisplay($_product); ?> <?php if ($weeeHelper->typeOfDisplay($_product, array(MagentoWeeeModelTax::DISPLAY_INCL_DESCR, MagentoWeeeModelTax::DISPLAY_EXCL_DESCR_INCL, 4))): ?> <?php $_weeeTaxAmount = $weeeHelper->getAmount($_product); ?> <?php $_weeeTaxAttributes = $weeeHelper->getProductWeeeAttributesForDisplay($_product); ?> <?php endif; ?> <?php $_weeeTaxAmountInclTaxes = $_weeeTaxAmount; ?> <?php if ($weeeHelper->isTaxable() && !$priceHelper->priceIncludesTax($_storeId)): ?> <?php $_attributes = $weeeHelper->getProductWeeeAttributesForRenderer($_product, null, null, null, true); ?> <?php $_weeeTaxAmountInclTaxes = $weeeHelper->getAmountInclTaxes($_attributes); ?> <?php endif; ?> <div class="price-box"> <?php $_price = $priceHelper->getPrice($_product, $_product->getPrice()) ?> <?php $_regularPrice = $priceHelper->getPrice($_product, $_product->getPrice(), $_simplePricesTax) ?> <?php $_finalPrice= $priceHelper->getPrice($_product, $_product->getFinalPrice()) ?> <?php $_finalPriceInclTax = $priceHelper->getPrice($_product, $_product->getFinalPrice(), true) ?> <?php $_weeeDisplayType = $weeeHelper->getPriceDisplayType(); ?> <?php if ($_finalPrice >= $_price): ?> <?php if ($priceHelper->displayBothPrices()): ?> <?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> </span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute->getTaxAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> </span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price, true, false) ?> </span> </span> <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <span class="weee"> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> </span> <?php endforeach; ?> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> <?php else: ?> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php if ($_finalPrice == $_price): ?> <?php echo $_coreHelper->currency($_price, true, false) ?> <?php else: ?> <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> <?php endif; ?> </span> © 2014 Magento, </span> Inc. Page | 23 <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> </span> </span> <?php endif; ?> <?php else: ?> <?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> </span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute- >getTaxAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> <span class="regular-price"><?php echo $_coreHelper->currency($_price,true,true) ?></span><br /> <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <span class="weee"> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> </span> <?php endforeach; ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?> </span> <?php else: ?> <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php if ($_finalPrice== $_price): ?> <?php echo $_coreHelper->currency($_price, true, true) ?> <?php else: ?> <?php echo $_coreHelper->currency($_finalPrice, true, true) ?> <?php endif; ?> </span> <?php endif; ?> <?php endif; ?> <?php else: /* if ($_finalPrice == $_price): */ ?> <?php $_originalWeeeTaxAmount = $weeeHelper->getOriginalAmount($_product); ?> <?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 0)): // including ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> </span> </p> <?php if ($priceHelper->displayBothPrices()): ?> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?phpecho __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> </p> <?php else: ?> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </p> <?php endif; ?> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> </span> </p> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> </p> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?> </span> </p> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?> </span> </span> <span class="weee">( <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <?php echo $_weeeSeparator; ?> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute- >getTaxAmount(), true, true); ?> <?php $_weeeSeparator = ' + '; ?> <?php endforeach; ?> )</span> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> </p> <?php elseif ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice, true, false) ?> </span> </p> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?php echo __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> </span> </span> <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?> <span class="weee"> <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?> </span> <?php endforeach; ?> <span class="price-including-tax"> <span class="label"><?php echo __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?> </span> </span> </p> <?php else: // excl. ?> <p class="old-price"> <span class="price-label"><?php echo __('Regular Price:') ?></span> <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_regularPrice, true, false) ?> </span> </p> <?php if ($priceHelper->displayBothPrices()): ?> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price-excluding-tax"> <span class="label"><?phpecho __('Excl. Tax:') ?></span> <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> </span> </span> <span class="price-including-tax"> <span class="label"><?phpecho __('Incl. Tax:') ?></span> <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?> </span> </span> </p> <?php else: ?> <p class="special-price"> <span class="price-label"><?php echo __('Special Price:') ?></span> <span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_finalPrice, true, false) ?> </span> </p> <?php endif; ?> <?php endif; ?> <?php endif; /* if ($_finalPrice == $_price): */ ?> <?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue < $_product->getFinalPrice()): ?> <?php $_minimalPriceDisplayValue = $_minimalPrice; ?> <?php if ($_weeeTaxAmount && $weeeHelper->typeOfDisplay($_product, array(0, 1, 4))): ?> <?php $_minimalPriceDisplayValue = $_minimalPrice + $_weeeTaxAmount; ?> <?php endif; ?> <?php if ($this->getUseLinkForAsLowAs()):?> <a href="<?phpecho $_product->getProductUrl(); ?>" class="minimal-price-link"> <?php else:?> <span class="minimal-price-link"> <?php endif?> <span class="label"><?php echo __('As low as:') ?></span> <span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>"> <?php echo $_coreHelper->currency($_minimalPriceDisplayValue, true, false) ?> </span> <?php if ($this->getUseLinkForAsLowAs()):?> </a> <?php else:?> </span> <?php endif?> <?php endif; /* if ($this->getDisplayMinimalPrice() && $_minimalPrice && $_minimalPrice < $_finalPrice): */ ?> </div>
  • 24. Код echo $this->getLayout() © 2014 Magento, Inc. Page | 24 ->getBlock('product.price.render') ->render('final_price', $product, $arguments);
  • 25. Фронт © 2014 Magento, Inc. Page | 25
  • 26. 5 © 2014 Magento, Inc. Page | 26 Q&A
  • 27. Спасибо! © 2014 Magento, Inc. Page | 27 Контакты: email: sivashchenko@ebay.com skype: serg.ivashchenko