Ürün Görünümü Sayfasında Magento 2'de Geçerli Ürün Adı Nasıl Alınır


9

Ürün Adının üstündeki Ürün Görünümü Sayfasında Ürün geçerli kategorisi Adı Nasıl Alınır. Ve Magento 2'de Geçerli Ürün Kategorisi Adını almak için bana dosya yolu Konumu verin.

Yanıtlar:


10

Aşağıdaki kod gibi özel bir modül oluşturun.

geçerli kategori adını almak için bir modül blok dosyası oluşturun.

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

}
?>

Aşağıdaki kodla bir phtml dosyası oluşturun

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

xml dosyası üzerinden yukarıdaki phtml dosyasını arayın.

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

Son olarak, ürün ayrıntısı sayfasında ürün adının hemen üzerinde kategori adını görebilirsiniz.

Herhangi bir sorunuz varsa bize bildirin.


i Ürün.info.main refrence katalog_product_view.xml xml kodu koymak var ama herhangi bir div veya herhangi bir kategori adı göremiyorum.
Nikul

Temanızın default.xml dosyasına koymalısınız.
Suresh Chikani

Evet default.xml koymak için çalıştı ama onun çalışmıyor ..
Nikul

Teşekkürler. tıkır tıkır çalışıyor. aradığınız yolda dikkatli olun (benimki "Vendor_Categoryonproduct :: category.phtml" idi) ve kayıt ve modül dosyasını unutmayın
Claudiu Creanga

herhangi bir sonuç
alamadım

1

Bir üründeki getCategoryIds () yöntemini kullanarak kategori kimliklerini alabilmeniz gerekir. Örneğin, referans:

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

Bu $product->getCategoryIds(), bloğunuzdakini esasen arayabilmeniz ve filtreleyebilmeniz gerektiği anlamına gelir .

getCategoryCollection()Aynı modelde denilen ve kategoriler arasında tam nesneler olarak dolaşmanıza izin veren bir yöntem de vardır . Onları ID'ler ile yükleyen orta adamı kesmeli.


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

        ?>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.