From 917d1d9812fd310b1a42ae069dfb10d7ba1587b4 Mon Sep 17 00:00:00 2001 From: Eric Wright Date: Tue, 31 Oct 2023 11:29:47 -0400 Subject: [PATCH] MAGE-791 Add alt registry for current category --- Observer/RegisterCurrentCategoryObserver.php | 28 ++++++++++++++++++ Registry/CurrentCategory.php | 31 ++++++++++++++++++++ etc/frontend/events.xml | 5 ++++ 3 files changed, 64 insertions(+) create mode 100644 Observer/RegisterCurrentCategoryObserver.php create mode 100644 Registry/CurrentCategory.php diff --git a/Observer/RegisterCurrentCategoryObserver.php b/Observer/RegisterCurrentCategoryObserver.php new file mode 100644 index 000000000..a08c90b8e --- /dev/null +++ b/Observer/RegisterCurrentCategoryObserver.php @@ -0,0 +1,28 @@ +currentCategory = $currentCategory; + } + + /** + * @inheritDoc + */ + public function execute(Observer $observer) + { + /** @var CategoryInterface */ + $category = $observer->getEvent()->getData('category'); + $this->currentCategory->set($category); + } +} diff --git a/Registry/CurrentCategory.php b/Registry/CurrentCategory.php new file mode 100644 index 000000000..e7f19c77f --- /dev/null +++ b/Registry/CurrentCategory.php @@ -0,0 +1,31 @@ +categoryRepository = $categoryRepository; + $this->categoryFactory = $categoryFactory; + } + + public function set(CategoryInterface $category): void { + $this->category = $category; + } + + public function get(): CategoryInterface { + return $this->category ?? $this->categoryFactory->create(); + } +} diff --git a/etc/frontend/events.xml b/etc/frontend/events.xml index df4c060f1..90147b29f 100755 --- a/etc/frontend/events.xml +++ b/etc/frontend/events.xml @@ -23,4 +23,9 @@ + + + + +