जवाबों:
नीचे कोड की तरह एक कस्टम मॉड्यूल बनाएं।
वर्तमान श्रेणी नाम पाने के लिए एक मॉड्यूल ब्लॉक फ़ाइल बनाएं।
<?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>
और अंत में आप उत्पाद विस्तार पृष्ठ पर उत्पाद के नाम के ऊपर श्रेणी का नाम देख सकते हैं।
यदि आपके पास कोई प्रश्न है तो मुझे बताएं।
आपको किसी उत्पाद पर getCategoryIds () विधि का उपयोग करके श्रेणी आईडी प्राप्त करने में सक्षम होना चाहिए। उदाहरण के लिए, संदर्भ:
\Magento\Catalog\Model\Product::getCategoryIds();
इसका मतलब है कि आपको $product->getCategoryIds()अपने ब्लॉक में अनिवार्य रूप से कॉल और फ़िल्टर करने में सक्षम होना चाहिए ।
getCategoryCollection()उसी मॉडल में एक विधि भी है जिसे आप पूर्ण वस्तुओं के रूप में श्रेणियों के माध्यम से चक्र करने की अनुमति देंगे। यह ईद के साथ उन्हें लोड करने के बीच के आदमी को काट देना चाहिए।
**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();
}
?>