从 Prestashop 后台的订单详细信息中获取数据库值

Get database value from order details in Prestashop backoffice

我在 ps_cart_product 中创建了一个名为 obs 的新字段。当客户将产品添加到购物车时,如果产品符合某些预定义的标准,来自 ps_cart_product 的字段 obs 将更新一些附加信息。

此时一切正常。

现在我试图从后台的订单详细信息中接收 obs 字段的值,但没有成功。我已经打印了 smarty 数组 $products 但我找不到 obs 字段。我在哪里可以找到正确的数据库查询以便我可以添加自定义字段?

感谢您的宝贵时间和合作。

为了从购物车产品中检索 "obs" 列,您必须编辑(或覆盖)/classes/Cart.php 中的 Cart->getProducts() 方法.

此方法包含一个 SQL 查询:

$sql->select('cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, cp.id_shop, pl.`name`, p.`is_virtual`, [...]

只需添加 "cp.obs," 即可。

您可能还想检查订单 class 中的 getProducts() 和 getProductsDetail() (/classes/order/Order.php).