您好如何在编辑类别项目后调用观察者?基本上我有一个观察者列出每个事件中的所有类别,如保存新类别,删除类别,移动类别位置和编辑类别。
但问题是在编辑类别时检索该类别的最后一个内容。假设当前的类别名称是Test,我保存内容时将其更改为Test 101,保存生成的文件,其内容为Test,应该是Test 101,下面是我的events.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="category_prepare_ajax_response">
<observer name="category-edit" instance="Module\FrontName\Observer\CategoryEditObserver" />
</event>
</config>
这是检索子类别的代码
public function getStoreCategories($storeManager)
{
// $categories = $category_helper->getStoreCategories();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$categoryFactory = $objectManager->create('Magento\Catalog\Model\ResourceModel\Category\CollectionFactory');
$categories = $categoryFactory->create()
->addAttributeToSelect('*')
->addAttributeToFilter('level', array('eq' => 2))
->addIsActiveFilter()
->setStore($storeManager->getStore()); //categories from current store will be
}
有关如何检索新编辑的类别的任何想法?我在编辑事件回调之后想到了什么
好的,我得到了答案。对于那些正在寻找相同解决方案的人而言,我所做的不是使用category_prepare_ajax_response
而是使用catalog_category_save_after
,这将在保存完成后调用,因此您将能够检索最新保存的内容。我的events.xml看起来像这样
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="catalog_category_save_after">
<observer name="category-edit" instance="TCM\HeaderMenu\Observer\CategoryEditObserver" />
</event>
</config>