Как получить название текущей категории продукта на странице просмотра продукта над названием продукта. И дайте мне путь к файлу, чтобы получить название текущей категории продукта в Magento 2.
9
Создайте пользовательский модуль, как показано ниже.
создайте файл блока модуля, чтобы получить имя текущей категории.
<?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; ?>
вызовите выше файл phtml через файл 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>
И, наконец, вы можете увидеть название категории чуть выше названия продукта на странице сведений о продукте.
Дайте мне знать, если у вас есть запрос.
Вы должны быть в состоянии получить идентификаторы категории, используя метод getCategoryIds () для продукта. Например, ссылка:
Это означает, что вы должны иметь возможность по существу вызывать
$product->getCategoryIds()
и фильтровать это в своем блоке.Существует также метод, вызываемый
getCategoryCollection()
в той же модели, который позволит вам переключаться между категориями как полными объектами. Это должно вырезать среднего человека, загружая их с идентификаторами.источник
источник