4

我想监控哪个仪表板用户(“管理员”)向数据库添加了新产品。

我正在考虑的解决方案是简单地添加另一个insertunderadmin > model > catalog > product.tpl函数addProduct(),它将用户 ID 添加到之前添加的自定义列中oc_product

$userID = // currently logged in

public function addProduct($data) {

$this->event->trigger('pre.admin.product.add', $data);

$this->db->query("INSERT INTO " . DB_PREFIX . "product SET addedby = $userID, .......");

.......

}

我现在唯一的问题是如何在这个文件(model/catalog/product.tpl)中调用/获取当前记录的管理员 ID。

这就是我的想法,如果这个想法完全错误,请写一些更好的解决方案。

4

2 回答 2

5

如果您创建另一个表来存储此信息会更好,因为它将使您免于更改核心表。在新表中存储 user_id 和 product_id 并将 product_id 设置为主键。现在,您将能够通过在 product_id 匹配的基础上加入这两个表来根据需要获取此数据。

于 2015-02-13T09:56:56.097 回答
3
  • 这个想法是正确的(至少对我来说,这就是我打算这样做的方式)
  • 您可以通过调用来获取当前登录管理员的 id$this->user->getId()
  • $userID = $this->user->getId()在函数内添加此代码片段addProduct,而不是在类声明内
  • 表中没有这样的列added_byproduct您必须更改表结构并添加它
于 2015-02-12T14:38:55.540 回答