Magento 2: किसी अन्य phtml फ़ाइल में कस्टम विकल्प कैसे दिखाएं


14

हम इस विकल्प को किसी अन्य phtml फ़ाइल में दिखाने के लिए कस्टम विकल्प में कैसे ओवरराइड कर सकते हैं। यहाँ छवि विवरण दर्ज करें

इस कोड को जोड़ा checkout_cart_index.xmlजिसमें ओवरराइड form.phtmlन केवल default.phtmlफ़ाइल को ओवरराइड करें ।

  <?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">
<!-- <update handle="checkout_cart_item_renderers"/> -->
<body>
    <referenceContainer name="content">
        <referenceBlock name="checkout.cart.form">
            <action method="setTemplate">
                <argument name="template" xsi:type="string">Bespoke_Bespoke::cart/form.phtml</argument>
            </action>
    </referenceBlock> 
     <referenceBlock name="checkout.cart.item.renderers.override">
    <action method="setTemplate">
        <argument name="template" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</argument>
    </action>
</referenceBlock>
    </referenceContainer>
</body>

मैं checkout.cart.item.renderersपहले से ही उर्फ ​​'सरल' के साथ एक बच्चा है के बारे में त्रुटि हो रही है मैं उस फ़ाइल को संशोधित किया हैcheckout_cart_item_renderer.xml

 <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<!-- <update handle="checkout_item_price_renderers"/> -->
<body>
  <referenceBlock name="checkout.cart.form">
<action method="setOverriddenTemplates">
    <argument xsi:type="array">
        <!-- list override templates -->
        <item name="default" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</item>
        <item name="simple" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</item>
        <item name="virtual" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</item>
    </argument>
  </action>
  </referenceBlock>
</body>
</page>

हमारे द्वारा उपयोग की गई फ़ाइल को ओवरराइड करने के लिए etc/di.xml

 <config  xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
   <preference for="Magento\Checkout\Block\Cart\AbstractCart" type="AGS\Bespoke\Block\Checkout\Cart\AbstractCart"/><preference for="Magento\Catalog\Block\Product\View\Option" type="AGS\Bespoke\Block\Product\View\Option"/>
   <preference for=" Magento\Checkout\Block\Cart" type="AGS\Bespoke\Block\Checkout\Cart"/>
   <preference for="\Magento\Checkout\Block\Cart\Item\Renderer" type="AGS\Bespoke\Block\Checkout\Cart\Item\Renderer"/>
   <virtualType name="AGS\Bespoke\Model\ResourceModel\Bespoke\Bespoke\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">     
  <arguments><argument name="mainTable" xsi:type="string">ags_bespoke</argument><argument name="resourceModel" xsi:type="string">AGS\Bespoke\Model\ResourceModel\Bespoke</argument> 

  </arguments></virtualType><type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
<arguments><argument name="collections" xsi:type="array">
<item name="bespoke_record_bespoke_list_data_source" xsi:type="string">AGS\Bespoke\Model\ResourceModel\Bespoke\Bespoke\Collection</item>


उत्पाद विस्तार पृष्ठ में ब्लॉक को हटा दें। इसे अन्य पेज में जोड़ें
विसाख बी सुजाथन

3
आप क्या हासिल करने का प्रयास कर रहे हैं? क्योंकि अगर मैं गलत हूं तो मुझे सुधारें, लेकिन पहली जगह में उत्पाद को कार्ट में जोड़ने में सक्षम होने के लिए आपको विकल्पों की आवश्यकता है। आप पहले कार्ट में आवश्यक विकल्पों के साथ एक उत्पाद नहीं जोड़ सकते हैं, और बाद में विकल्पों का चयन कर सकते हैं।
गेल बर्कर्स

जवाबों:


5

कोड को किसी अन्य phtml पेज में उत्पाद संग्रह में रखें

हिरासत विकल्प, ड्रॉपडाउन, मल्टीसेलेक्ट, इत्यादि पर शो होगा ...

<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$_productCollection = $block->getLoadedProductCollection();
?>
<?php foreach ($_productCollection as $_product): ?>
<?php
    $_product = $objectManager->create('Magento\Catalog\Model\Product')->load($_product->getId());
    $customOptions = $objectManager->get('Magento\Catalog\Model\Product\Option')->getProductOptionCollection($_product); 
?>
  <?php 
    foreach($customOptions as $option){
      $values = $option->getValues();
      if (empty($values)) { 
          continue;
      } ?>
      <div class="custome-option">
          <?php foreach($values as $value) :  ?>
              <span><?php echo $value->getTitle(); ?></span>
          <?php endforeach; ?>
      </div>
  <?php }; ?>
<?php endforeach; ?>

, त्रुटि हो रही है: 1 अपवाद (अपवाद): अपवाद # 0 (अपवाद): चेतावनी:
फॉर्च्यूनर के
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.