在我的网站上,在订单历史记录(my_account / order_history)上显示产品名称非常重要,而在opencart中只显示订单ID。我已经部分地解决了这个问题但是我非常感谢一些提示如何继续。 该主题于2011年在http://forum.opencart.com/viewtopic.php?f=20&t=46387&p=437991#p437991
中开放$product['name']
(其中function info()
而不是function index()
中定义),只有order_info.tpl有。我试图将函数info()的代码部分复制到函数index(),但它仍然没有访问。任何暗示我必须做什么?我需要在模型文件中更改某些内容吗?或者如何修改控制器文件(order.php)以允许order_list.tpl具有正确的访问权限?$("body").on("mouseover", function(e){
$(".order-info").load(e.target.href, function(){
$(e.target).addClass("unloaded");
});
});
非常感谢任何帮助或提示如何继续
答案 0 :(得分:0)
$(function () {
$(".order-info a").each(function () {
var $me = $(this);
$me.load($me.attr('href'),function(){
$me.addClass("unloaded");
};
});
答案 1 :(得分:0)
感谢帮助cske,我真的很感激。但是我仍然无法使其发挥作用。我也尝试做一些小的调整,没有任何成功(但后来我不是开发人员)。
所以我决定再次尝试修改控制器文件,使$product['name']
可以order_list.tpl
访问(如问题中所述)。我能够通过添加
$products = $this->model_account_order->getOrderProducts($result['order_id']);
和
foreach ($products as $product) {
$this->data['products'][] = array('name'=> $product['name'],);
}
之后
foreach ($results as $result) {
可以在订单数组中调用它,例如
$this->data['orders'][] = array(
'product_name' => $product['name'],
然而,它是有效的解决方案: 1.每个订单只显示一个产品 它引发了通知
Notice: Undefined index: order_id
可以在管理区域中关闭通知。
我对这个解决方案很满意,但显然它可能不适合其他商店。
答案 2 :(得分:0)
我使用的解决方案只显示订单的第一个产品,以确定如何显示订单及其数量的所有产品。
而不是:
foreach ($products as $product) {
$this->data['products'][] = array('name'=> $product['name'],);
}
使用:
$this->data['products'] = array();
$prod = "";
foreach ($products as $product) {
$prod .= $product['quantity'] . " x " . $product['name'] .'<br>';
}
并在:
$this->data['orders'][] = array(
添加:
'product_data' => $prod,
然后在order_list.tpl中,您可以获得数量为:
的产品列表<?php echo $order['product_data']; ?>