我想监控哪个仪表板用户(" 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。
这就是我的想法,如果这个想法完全错误,请写一些更好的解决方案。
答案 0 :(得分:5)
如果您创建另一个表来存储此信息会更好,因为它可以帮助您避免更改核心表。在新表中,存储user_id和product_id,并将product_id设置为主键。 现在,您可以根据需要通过在product_id匹配的基础上连接这两个表来获取此数据。
答案 1 :(得分:3)
$this->user->getId()
$userID = $this->user->getId()
函数中添加此代码片段addProduct
,而不是在类声明中added_by
表中没有名为product
的列,您必须更改表格结构并添加