Created
February 26, 2018 21:26
-
-
Save magevision/099d4c4ff6b7a415f8a0adffb6dd68f1 to your computer and use it in GitHub Desktop.
Get a Product Attribute in Checkout Summary
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Catalog:etc/catalog_attributes.xsd"> | |
<group name="quote_item"> | |
<attribute name="manufacturer"/> | |
</group> | |
</config> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> | |
<body> | |
<referenceBlock name="checkout.root"> | |
<arguments> | |
<argument name="jsLayout" xsi:type="array"> | |
<item name="components" xsi:type="array"> | |
<item name="checkout" xsi:type="array"> | |
<item name="children" xsi:type="array"> | |
<item name="sidebar" xsi:type="array"> | |
<item name="children" xsi:type="array"> | |
<item name="summary" xsi:type="array"> | |
<item name="children" xsi:type="array"> | |
<item name="cart_items" xsi:type="array"> | |
<item name="children" xsi:type="array"> | |
<item name="details" xsi:type="array"> | |
<item name="component" | |
xsi:type="string">MageVision_Blog16/js/view/summary/item/details</item> | |
</item> | |
</item> | |
</item> | |
</item> | |
</item> | |
</item> | |
</item> | |
</item> | |
</item> | |
</item> | |
</argument> | |
</arguments> | |
</referenceBlock> | |
</body> | |
</page> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace MageVision\Blog16\Plugin\Checkout\Model; | |
use Magento\Checkout\Model\Session as CheckoutSession; | |
class DefaultConfigProvider | |
{ | |
/** | |
* @var CheckoutSession | |
*/ | |
protected $checkoutSession; | |
/** | |
* Constructor | |
* | |
* @param CheckoutSession $checkoutSession | |
*/ | |
public function __construct( | |
CheckoutSession $checkoutSession | |
) { | |
$this->checkoutSession = $checkoutSession; | |
} | |
public function afterGetConfig( | |
\Magento\Checkout\Model\DefaultConfigProvider $subject, | |
array $result | |
) { | |
$items = $result['totalsData']['items']; | |
foreach ($items as $index => $item) { | |
$quoteItem = $this->checkoutSession->getQuote()->getItemById($item['item_id']); | |
$result['quoteItemData'][$index]['manufacturer'] = $quoteItem->getProduct()->getAttributeText('manufacturer'); | |
} | |
return $result; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- ko foreach: getRegion('before_details') --> | |
<!-- ko template: getTemplate() --><!-- /ko --> | |
<!-- /ko --> | |
<div class="product-item-details"> | |
<div class="product-item-inner"> | |
<div class="product-item-name-block"> | |
<strong class="product-item-name" data-bind="text: $parent.name"></strong> | |
<!-- ko if: (getManufacturer($parent))--> | |
<strong class="product-item-manufacturer" data-bind="text: getManufacturer($parent)"></strong> | |
<!-- /ko --> | |
<div class="details-qty"> | |
<span class="label"><!-- ko i18n: 'Qty' --><!-- /ko --></span> | |
<span class="value" data-bind="text: $parent.qty"></span> | |
</div> | |
</div> | |
<!-- ko foreach: getRegion('after_details') --> | |
<!-- ko template: getTemplate() --><!-- /ko --> | |
<!-- /ko --> | |
</div> | |
<!-- ko if: (JSON.parse($parent.options).length > 0)--> | |
<div class="product options" data-bind="mageInit: {'collapsible':{'openedState': 'active'}}"> | |
<span data-role="title" class="toggle"><!-- ko i18n: 'View Details' --><!-- /ko --></span> | |
<div data-role="content" class="content"> | |
<strong class="subtitle"><!-- ko i18n: 'Options Details' --><!-- /ko --></strong> | |
<dl class="item-options"> | |
<!--ko foreach: JSON.parse($parent.options)--> | |
<dt class="label" data-bind="text: label"></dt> | |
<!-- ko if: ($data.full_view)--> | |
<dd class="values" data-bind="html: full_view"></dd> | |
<!-- /ko --> | |
<!-- ko ifnot: ($data.full_view)--> | |
<dd class="values" data-bind="html: value"></dd> | |
<!-- /ko --> | |
<!-- /ko --> | |
</dl> | |
</div> | |
</div> | |
<!-- /ko --> | |
</div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*jshint browser:true jquery:true*/ | |
/*global alert*/ | |
define( | |
[ | |
'uiComponent' | |
], | |
function (Component) { | |
"use strict"; | |
var quoteItemData = window.checkoutConfig.quoteItemData; | |
return Component.extend({ | |
defaults: { | |
template: 'MageVision_Blog16/summary/item/details' | |
}, | |
quoteItemData: quoteItemData, | |
getValue: function(quoteItem) { | |
return quoteItem.name; | |
}, | |
getManufacturer: function(quoteItem) { | |
var item = this.getItem(quoteItem.item_id); | |
return item.manufacturer; | |
}, | |
getItem: function(item_id) { | |
var itemElement = null; | |
_.each(this.quoteItemData, function(element, index) { | |
if (element.item_id == item_id) { | |
itemElement = element; | |
} | |
}); | |
return itemElement; | |
} | |
}); | |
} | |
); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> | |
<type name="Magento\Checkout\Model\DefaultConfigProvider"> | |
<plugin name="checkout-summary-product-attribute" type="MageVision\Blog16\Plugin\Checkout\Model\DefaultConfigProvider" /> | |
</type> | |
</config> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment