Opencart 2:将当前记录的管理员ID添加到产品插入的oc_product表中

时间:2015-02-12 12:14:05

标签: php opencart opencart2.x

我想监控哪个仪表板用户(" admin")将新产品添加到数据库中。

我正在考虑的解决方案只是在功能insert下的admin > 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。

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

  • 这个想法是正确的(至少对我而言,这就是我要做的事情)
  • 您可以通过调用$this->user->getId()
  • 获取当前登录管理员的ID
  • $userID = $this->user->getId()函数中添加此代码片段addProduct,而不是在类声明中
  • added_by表中没有名为product的列,您必须更改表格结构并添加