你必須創建一個插件。我想添加產品風味來訂購總結。這是我創建插件並實現我想要的。
供應商= Sejal
文件,你需要創建:
- registration.php的:應用程序\代碼\ Sejal \香精\ registration.php的
- di.xml:應用程序\代碼\ Sejal \香精\等\ di.xml
- module.xml:應用\代碼\ Sejal \香精\等\ di.xml
- ConfigProviderPlugin.php:應用\代碼\ Sejal \香精\插件\ ConfigProviderPlugin.php
- details.html:供應商\ Magento的\模塊結賬\圖\前端\網絡\模板\摘要\項目的副本\ details.html
您可以覆蓋在你的主題文件這樣
應用程序\設計\前臺\供應商\ THEMENAME \ Magento_Checkout \網絡\模板\摘要\項目\ 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 \模塊結賬\視圖\前端\網絡\模板\ 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/added-custom-attribute-to-checkout-order-summary-not-reflecting-payment-page/181244?noredirect = 1#comment287038_181244 –
我爲此感謝 – Sarfaraj