Opencart 如何将SKU添加到发票
在OpenCart 3.0.2.0中,我试图让发票页面显示每个产品的“SKU”变量。该变量与其他产品数据一起存在于数据库中,但由于某些不正当的原因,OpenCart没有显示该变量的选项。您可以显示产品名称、价格、库存可用性等,但不能显示SKUOpencart 如何将SKU添加到发票,opencart,opencart-3,sku,Opencart,Opencart 3,Sku,在OpenCart 3.0.2.0中,我试图让发票页面显示每个产品的“SKU”变量。该变量与其他产品数据一起存在于数据库中,但由于某些不正当的原因,OpenCart没有显示该变量的选项。您可以显示产品名称、价格、库存可用性等,但不能显示SKU 有人知道如何在OC 3中特别做到这一点吗?他们已经将模板从PHP切换到Twig,我不确定我做错了什么,但我在OC2.0中使用的方法在3.0中不起作用。你是说它出现在admin/view/sale/order\u invoice.Twig中吗 如果是这样,首
有人知道如何在OC 3中特别做到这一点吗?他们已经将模板从PHP切换到Twig,我不确定我做错了什么,但我在OC2.0中使用的方法在3.0中不起作用。你是说它出现在admin/view/sale/order\u invoice.Twig中吗 如果是这样,首先在第518行左右修改admin/controller/sale/order.php:
foreach ($products as $product) {
$data['order_products'][] = array(
'product_id' => $product['product_id'],
'name' => $product['name'],
'model' => $product['model'],
'option' => $this->model_sale_order->getOrderOptions($this->request->get['order_id'], $product['order_product_id']),
'quantity' => $product['quantity'],
'price' => $product['price'],
'total' => $product['total'],
'reward' => $product['reward']
);
}
在那里的某个地方(比如说在模型线之后)包含一行:
'sku' => $product['sku'],
然后在admin/view/sale/order\u invoice.twig中,添加您希望其显示的位置:
{{ product.sku }}
当然,你必须按照你认为合适的方式对它进行样式化或制作一列。希望这能为您指明正确的方向。您是说它出现在admin/view/sale/order\u invoice.twig中吗 如果是这样,首先在第518行左右修改admin/controller/sale/order.php:
foreach ($products as $product) {
$data['order_products'][] = array(
'product_id' => $product['product_id'],
'name' => $product['name'],
'model' => $product['model'],
'option' => $this->model_sale_order->getOrderOptions($this->request->get['order_id'], $product['order_product_id']),
'quantity' => $product['quantity'],
'price' => $product['price'],
'total' => $product['total'],
'reward' => $product['reward']
);
}
在那里的某个地方(比如说在模型线之后)包含一行:
'sku' => $product['sku'],
然后在admin/view/sale/order\u invoice.twig中,添加您希望其显示的位置:
{{ product.sku }}
当然,你必须按照你认为合适的方式对它进行样式化或制作一列。希望这为您指明了正确的方向。如果您希望SKU在管理端的发票中排序,那么您必须修改如下: admin/model/sale/order.php 查找:
public function getOrderProducts($order_id) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");
return $query->rows;
}
替换:
public function getOrderProducts($order_id) {
$query = $this->db->query("SELECT op.*,p.sku FROM " . DB_PREFIX . "order_product op LEFT JOIN " . DB_PREFIX . "product p on op.product_id = p.product_id WHERE order_id = '" . (int)$order_id . "'");
return $query->rows;
}
admin/controller/sale/order.php
在
查找:
在此之后加上:
`'sku' => $product['sku'],`
在admin/view/sale/order\u invoice.twig中
加:
因此,您必须首先从产品表中获取sku,这在默认订单发票页面中不可用。如果您希望sku位于管理端的订单发票中,则必须进行如下修改: admin/model/sale/order.php 查找:
public function getOrderProducts($order_id) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");
return $query->rows;
}
替换:
public function getOrderProducts($order_id) {
$query = $this->db->query("SELECT op.*,p.sku FROM " . DB_PREFIX . "order_product op LEFT JOIN " . DB_PREFIX . "product p on op.product_id = p.product_id WHERE order_id = '" . (int)$order_id . "'");
return $query->rows;
}
admin/controller/sale/order.php
在
查找:
在此之后加上:
`'sku' => $product['sku'],`
在admin/view/sale/order\u invoice.twig中
加:
因此,您必须首先从产品表中获取sku,这在默认订单发票页面中不可用