如何查询Magento商品分类的创建/修改时间及操作人?
Magento商品分类创建/修改记录查询方案
默认状态说明
- Magento后台默认不展示商品分类的创建/修改时间、操作人信息,分类管理页面仅提供基础属性配置。
- 默认日志文件无相关记录:
var/log/system.log、var/log/exception.log仅记录系统报错或异常事件,不追踪常规分类操作;var/log/access.log仅记录请求路径,无法关联到具体的分类操作主体和内容。
实现追踪的可行方案
1. 启用内置审计日志(Magento 2.4.3+)
如果你的Magento版本为2.4.3及以上,可直接启用系统自带的Magento_AuditLog模块:
- 执行命令启用模块:
bin/magento module:enable Magento_AuditLog - 后续执行常规升级、编译、清缓存命令:
bin/magento setup:upgrade && bin/magento setup:di:compile && bin/magento cache:clean - 启用后,在后台「系统」>「审计日志」中可查看分类的创建、修改操作记录,包含操作人、操作时间、操作类型及修改的属性详情。
2. 开发自定义模块(全版本适用)
若版本较低或需定制化记录逻辑,可开发自定义模块实现:
- 核心逻辑:监听
catalog_category_save_after事件,在观察者中获取操作人、操作时间及分类信息,将数据存储到自定义表或扩展分类EAV属性; - 观察者核心代码示例:
public function execute(\Magento\Framework\Event\Observer $observer) { $category = $observer->getCategory(); $user = $this->_authSession->getUser(); if (!$user || !$category) { return; } // 记录创建信息(仅分类首次保存时) if ($category->isObjectNew()) { $category->setData('created_by', $user->getUsername()); $category->setData('created_at', $this->_date->gmtDate()); } // 记录修改信息 $category->setData('updated_by', $user->getUsername()); $category->setData('updated_at', $this->_date->gmtDate()); $category->save(); }
- 后续可在后台分类管理网格或编辑页面添加对应字段,实现直接查看。
内容的提问来源于stack exchange,提问作者Kate Shatalow
相关产品推荐
相关产品推荐

