2017-01-11 58 views
1

如何將產品的額外屬性添加到結帳彙總框?Magento 2 - 將額外的產品屬性添加到結帳彙總框

我必須重寫:「作者到這裏」 Magento_Catalog /網頁/模板/概要/項目/ details.html

<div class="product-item-inner"> 
    <div class="product-item-name-block"> 
     <strong class="product-item-name" data-bind="text: $parent.name"></strong> 
     <strong class="product-item-authors">**Author goes here!**</strong> 
     <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> 

那麼,你看到的實際文本我必須調用類似$ parent.authors的東西。

產品[作者]是後端目錄中的多選屬性。

Checkout summary box - image

回答

0

你必須創建一個插件。我想添加產品風味來訂購總結。這是我創建插件並實現我想要的。

供應商= Sejal

文件,你需要創建:

  1. registration.php的:應用程序\代碼\ Sejal \香精\ registration.php的
  2. di.xml:應用程序\代碼\ Sejal \香精\等\ di.xml
  3. module.xml:應用\代碼\ Sejal \香精\等\ di.xml
  4. ConfigProviderPlugin.php:應用\代碼\ Sejal \香精\插件\ ConfigProviderPlugin.php
  5. 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> 

這就是它! 希望它有幫助!

+0

我已經完成了你所描述的但不工作。 – Sarfaraj

+0

@Sarfaraj請參考https://magento.stackexchange。com/questions/178398/added-custom-attribute-to-checkout-order-summary-not-reflecting-payment-page/181244?noredirect = 1#comment287038_181244 –

+0

我爲此感謝 – Sarfaraj

相關問題