【发布时间】:2019-09-05 07:13:18
【问题描述】:
如何在 magento2 中获取当前类别?
我想在产品详细信息页面上获取类别名称。
由于不推荐使用 Registry 并且使用 ObjectManager 不是好的做法。
【问题讨论】:
标签: magento2
如何在 magento2 中获取当前类别?
我想在产品详细信息页面上获取类别名称。
由于不推荐使用 Registry 并且使用 ObjectManager 不是好的做法。
【问题讨论】:
标签: magento2
转到您主题的 form.phtml 文件。如果您的主题中不存在 form.phtml,请将其从 Magento_Catalog 模块复制到您的主题。
vendor/magento/module-catalog/view/frontend/templates/product/view/form.phtml
到
app/design/frontend/{Vendorname}/{Themename}/Magento_Catalog/templates/product/view/form.phtml
粘贴下面的代码
<?php echo $block->getProduct()->getCategory()->getName(); ?>
【讨论】:
获取当前类别:
使用块类:Magento\Catalog\Block\Category\View
使用获取产品:在您的 phtml 中使用 $block->getCurrentCategory() 或使用类并获取块文件。
希望对您有所帮助。祝您编码愉快!!
【讨论】:
你应该使用
$categoryId = (int)$this->getRequest()->getParam('id', false);
然后用实例化
\Magento\Catalog\Api\CategoryRepositoryInterface使用
$this->categoryRepository->get($categoryId);
【讨论】: