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

dev*_*ull 4 php opencart opencart2.x

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

我正在考虑的解决方案只是在函数insert下添加另一个,它将用户ID添加到之前添加的自定义列.admin > model > catalog > product.tpladdProduct()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, .......");

.......

}
Run Code Online (Sandbox Code Playgroud)

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

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

ele*_*vos 5

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

  • 我提出了这个想法,因为使用**vqmod**可以很容易地忽略核心代码的更改,但是使用核心表是不可能的.改变核心表有时会增加复杂性,同时修改大的东西.但是你对插入和检索速度较慢是正确的.但是有一些表,例如product_option,product_discount,product_related,所以有另一个表,因为product_owner不会出错,因为在我看来. (4认同)