उत्पाद दृश्य पृष्ठ में Magento 2 में उत्पाद वर्तमान श्रेणी का नाम कैसे प्राप्त करें


9

उत्पाद नाम से उत्पाद दृश्य पृष्ठ में उत्पाद वर्तमान श्रेणी का नाम कैसे प्राप्त करें। और मुझे Magento 2 में वर्तमान उत्पाद श्रेणी नाम प्राप्त करने के लिए फ़ाइल पथ स्थान दें।

जवाबों:


10

नीचे कोड की तरह एक कस्टम मॉड्यूल बनाएं।

वर्तमान श्रेणी नाम पाने के लिए एक मॉड्यूल ब्लॉक फ़ाइल बनाएं।

<?php
namespace Namespace\Modulename\Block;
class Blockname extends \Magento\Framework\View\Element\Template
{
    protected $_registry;

    public function __construct(
        \Magento\Backend\Block\Template\Context $context,
        \Magento\Framework\Registry $registry,
        array $data = []
    )
    {
        $this->_registry = $registry;
        parent::__construct($context, $data);
    }


    public function getCurrentCategory()
    {
        return $this->_registry->registry('current_category');
    }

}
?>

नीचे दिए गए कोड के साथ एक phtml फ़ाइल बनाएँ

<?php if ($currentCategory = $block->getCurrentCategory()): ?>
    <div class="detail-category-name">
        <?php echo $currentCategory->getName(); ?>
    </div>
<?php endif; ?>

xml फ़ाइल के माध्यम से phtml फ़ाइल के ऊपर कॉल करें।

<referenceContainer name="product.info.main">
            <block class="Namespace\Modulename\Block\Blockname" name="product.category.name" template="Magento_Catalog::product/view/yourfilename.phtml" >
            </block>
</referenceContainer>

और अंत में आप उत्पाद विस्तार पृष्ठ पर उत्पाद के नाम के ऊपर श्रेणी का नाम देख सकते हैं।

यदि आपके पास कोई प्रश्न है तो मुझे बताएं।


मैं Product.info.main रिफ्रेंस में कैटलॉग_प्रोडक्ट_व्यू.एक्सएमएल में xml कोड रखता हूं, लेकिन मैं किसी भी div या किसी भी श्रेणी का नाम नहीं देख सकता।
निकुल

आपको इसे अपनी थीम default.xml में डालना होगा।
सुरेश चिकानी

हां मैंने डिफ़ॉल्ट रूप में
डालने

धन्यवाद। एक जादू की तरह काम करता है। उस पथ पर सावधान रहें, जिसे आप कॉल कर रहे हैं (मेरा "वेंडर_ कैटेगोरोनप्रोडक्ट :: category.phtml) था और पंजीकरण और मॉड्यूल फ़ाइल को मत भूलना।
क्लेयुडू क्रेन्गा

मुझे कोई परिणाम नहीं मिल रहा है
vijay b

1

आपको किसी उत्पाद पर getCategoryIds () विधि का उपयोग करके श्रेणी आईडी प्राप्त करने में सक्षम होना चाहिए। उदाहरण के लिए, संदर्भ:

\Magento\Catalog\Model\Product::getCategoryIds();

इसका मतलब है कि आपको $product->getCategoryIds()अपने ब्लॉक में अनिवार्य रूप से कॉल और फ़िल्टर करने में सक्षम होना चाहिए ।

getCategoryCollection()उसी मॉडल में एक विधि भी है जिसे आप पूर्ण वस्तुओं के रूप में श्रेणियों के माध्यम से चक्र करने की अनुमति देंगे। यह ईद के साथ उन्हें लोड करने के बीच के आदमी को काट देना चाहिए।


0
**Add XML Code Theme/namespace/Magento_Catalog/templates/product/view**

<block class="Magento\Catalog\Block\Product\View" name="product.info.category" after="product.price.final" template="product/view/current_category.phtml" />


**Create New File    Theme/namespace/Magento_Catalog/templates/product/view**  

      <?php 
        $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
        $product = $objectManager->get('Magento\Framework\Registry')->registry('current_product');
        $categories = $product->getCategoryIds(); /*will return category ids array*/
        foreach($categories as $category){
            $cat = $objectManager->create('Magento\Catalog\Model\Category')->load($category);
            echo $cat->getName();
            }

        ?>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.