Вы должны создать плагин для этого. Я хотел добавить аромат продукта в список заказов. Так я создал плагин и добился того, чего хотел.
Vendor = Sejal
Файлы вам нужно создать:
- Registration.php: приложение \ код \ Sejal \ Flavor \ registration.php
- di.xml: приложение \ код \ Sejal \ Flavor \ и т.д. \ di.xml
- module.xml: приложение \ код \ Sejal \ Flavor \ и т.д. \ di.xml
- ConfigProviderPlugin.php: приложение \ код \ Sejal \ Flavor \ Plugin \ ConfigProviderPlugin.php
- details.html: копия поставщика \ Magento \ модульно-кассе \ вид \ фронтэнда \ Web \ шаблон \ резюме \ п \ details.html
вы можете изменить этот файл в вашей теме, как этот
приложение \ дизайн \ внешний интерфейс \ Vendor \ THEMENAME \ Magento_Checkout \ Web \ шаблон \ резюме \ элемент \ details.html
Код: registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Sejal_Flavor',
__DIR__
);
di.xml
<?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="AddAttPlug" type="Sejal\Flavor\Plugin\ConfigProviderPlugin" />
</type>
</config>
module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Sejal_Flavor" setup_version="1.0.0">
</module>
</config>
ConfigProviderPlugin.php
<?php
namespace Sejal\Flavor\Plugin;
class ConfigProviderPlugin extends \Magento\Framework\Model\AbstractModel
{
public function afterGetConfig(\Magento\Checkout\Model\DefaultConfigProvider $subject, array $result)
{
$items = $result['totalsData']['items'];
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
for($i=0;$i<count($items);$i++){
$quoteId = $items[$i]['item_id'];
$quote = $objectManager->create('\Magento\Quote\Model\Quote\Item')->load($quoteId);
$productId = $quote->getProductId();
$product = $objectManager->create('\Magento\Catalog\Model\Product')->load($productId);
$productFlavours = $product->getResource()->getAttribute('flavors')->getFrontend()->getValue($product);
if($productFlavours == 'No' || $productFlavours == 'NA'){
$productFlavours = '';
}
$items[$i]['flavor'] = $productFlavours;
}
$result['totalsData']['items'] = $items;
return $result;
}
}
details.html
Копия поставщика \ Magento \ модуль кассового \ вид \ внешний интерфейс \ Web \ шаблон \ summary \ item \ details.html в теме и добавить
<div class="product-item-flavor" data-bind="text: $parent.flavor"></div>
ниже
<strong class="product-item-name" data-bind="text: $parent.name"></strong>
Вот оно! Надеюсь, это поможет!
Я сделал то же, что и вы, но не работал. – Sarfaraj
@Sarfaraj Пожалуйста, обратитесь к https: //magento.stackexchange.com/questions/178398/add-custom-attribute-to-checkout-order-summary-not-reflecting-on-payment-page/181244? noredirect = 1 # comment287038_181244 –
Я сделал это спасибо за этот материал – Sarfaraj