Cara Mendapatkan Nama Kategori Produk Saat Ini di Magento 2 di Halaman Tampilan Produk


9

Cara Mendapatkan Nama kategori produk saat ini di Halaman Tampilan Produk di atas Nama Produk. Dan beri saya Lokasi jalur file untuk mendapatkan Nama Kategori Produk Saat Ini di Magento 2.

Jawaban:


10

Buat modul khusus seperti kode di bawah ini.

buat file blok modul untuk mendapatkan nama kategori saat ini.

<?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');
    }

}
?>

buat file phtml dengan kode di bawah ini

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

panggil file phtml di atas melalui file xml.

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

Dan akhirnya Anda dapat melihat nama kategori tepat di atas nama produk pada halaman detail produk.

Beri tahu saya jika Anda memiliki pertanyaan.


saya telah memasukkan kode xml di catalog_product_view.xml di referensi Product.info.main tetapi saya tidak dapat melihat div atau nama kategori apa pun.
Nikul

Anda harus meletakkannya di theme default.xml Anda.
Suresh Chikani

Ya saya telah mencoba untuk Menempatkan dalam default.xml tetapi tidak berfungsi ..
Nikul

Terima kasih. bekerja seperti pesona. hati-hati di jalur yang Anda panggil (milik saya adalah "Vendor_Categoryonproduct :: category.phtml) dan jangan lupa pendaftaran dan file modul.
Claudiu Creanga

saya tidak mendapatkan hasil apa pun
vijay b

1

Anda harus bisa mendapatkan id kategori dengan menggunakan metode getCategoryIds () pada suatu produk. Sebagai contoh, referensi:

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

Ini berarti bahwa Anda pada dasarnya harus dapat memanggil $product->getCategoryIds()dan memfilternya di blok Anda.

Ada juga metode yang disebut getCategoryCollection()dalam model yang sama yang memungkinkan Anda untuk menelusuri kategori sebagai objek penuh. Itu harus memotong orang tengah memuat mereka dengan ID.


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();
            }

        ?>
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.