Como obter o nome da categoria atual do produto na Página de exibição do produto acima do Nome do produto. E me dê o local do caminho do arquivo para obter o nome atual da categoria do produto no Magento 2.
9
Crie um módulo personalizado como no código abaixo.
crie um arquivo de bloco de módulo para obter o nome da categoria atual.
<?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');
}
}
?>
crie um arquivo phtml com o código abaixo
<?php if ($currentCategory = $block->getCurrentCategory()): ?>
<div class="detail-category-name">
<?php echo $currentCategory->getName(); ?>
</div>
<?php endif; ?>
chamar acima o arquivo phtml via arquivo 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>
E, finalmente, você pode ver o nome da categoria logo acima do nome do produto na página de detalhes do produto.
Deixe-me saber se você tem alguma dúvida.
Você deve conseguir os IDs da categoria usando o método getCategoryIds () em um produto. Por exemplo, referência:
Isso significa que você deve poder chamar
$product->getCategoryIds()
e filtrar essencialmente isso no seu bloco.Há também um método chamado
getCategoryCollection()
no mesmo modelo, que permitiria percorrer as categorias como objetos completos. Deve cortar o homem do meio de carregá-los com os IDs.fonte
fonte