Когда нам нужно использовать продукт и текущий продукт из реестра?
В Magento2, если нам нужна информация о текущей категории, мы можем получить ее из реестра, как показано ниже:
$Текущая категория = $это->_регистрия->реестр ('текущая категория');
Для получения текущей информации о продукте мы можем извлечь ее из реестра, как показано ниже:
$текущий продукт = $это->_регистрия->реестр ('продукт');
ИЛИ
$Текущий продукт= $это->_регистрия->реестр ('текущий продукт');
Итак, какой из них мы должны использовать или какой из них рекомендует Magento для получения текущего продукта? почему?
Спасибо...
1 answers
Взгляните:
\ Magento\Каталог\Помощник\Продукт::INITPRODUCT()
// Register current data and dispatch final events
$this->_coreRegistry->register('current_product', $product);
$this->_coreRegistry->register('product', $product);
Как мы видим, Magento регистрирует две переменные. Вот почему мы можем получить переменные current_product
и product
. Похоже, что Magento хочет предоставить нам "больше способов" получить текущие данные о продукте в блоке, событии... через реестр.
Подробнее:
\ Magento\Каталог\Контроллер\Adminhtml\Категория\Виджет\Категорииjson::выполнить()
$this->_coreRegistry->register('category', $category);
$this->_coreRegistry->register('current_category', $category);