You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 11:12:36