OpenCart - 如果订单状态已发货,则希望在发票中添加注释

时间:2014-03-14 13:00:37

标签: php opencart

我尝试了很多但没有成功。

在opencart order admin中 - >任何订单 - >历史。

我们在下面的字段中看到:

  1. 订单状态(处理,处理,发货等)
  2. 通知客户
  3. 评论
  4. 问题:

    截至目前,当我们点击PRINT INVOICE(如果客户评论存在)时,仅发布客户评论

    order_invoice.tpl(admin \ view \ template \ sale)

    中的代码
             <?php if ($order['comment']) { ?>
      <table class="comment">
        <tr class="heading">
          <td><b><?php echo $column_comment; ?></b></td>
        </tr>
        <tr>
          <td><?php echo $order['comment']; ?></td>
        </tr>
      </table>    
    

    我还希望在管理员选择&#34;发货&#34;在订单状态。

    如果order_status =已发货,则在admin_invoice.tpl中显示管理员的评论

    因为当管理员在订单状态中选择SHIPPED并填写评论中的跟踪号码时,跟踪号码将在INVOICE中显示,这将有助于客户保留跟踪证明。

    我认为在opencart中有两个变量 order_status order_status_id

    我不知道这些的确切格式和链接......你能帮我解决这个问题吗?

    提前致谢

1 个答案:

答案 0 :(得分:1)

试试这个,

首先修改控制器中的数据数组(/admin/controller/sale/order.php)以添加order_status_id和admin注释/历史记录:

$this->data['orders'][] = array(
  'order_id'             => $order_id,
  'invoice_no'         => $invoice_no,
  'date_added'         => date($this->language->get('date_format_short'), strtotime($order_info['date_added'])),
  'store_name'         => $order_info['store_name'],
  'store_url'          => rtrim($order_info['store_url'], '/'),
  'store_address'      => nl2br($store_address),
  'store_email'        => $store_email,
  'store_telephone'    => $store_telephone,
  'store_fax'          => $store_fax,
  'email'              => $order_info['email'],
  'telephone'          => $order_info['telephone'],
  'shipping_address'   => $shipping_address,
  'shipping_method'    => $order_info['shipping_method'],
  'payment_address'    => $payment_address,
  'payment_company_id' => $order_info['payment_company_id'],
  'payment_tax_id'     => $order_info['payment_tax_id'],
  'payment_method'     => $order_info['payment_method'],
  'product'            => $product_data,
  'voucher'            => $voucher_data,
  'total'              => $total_data,
  'comment'            => nl2br($order_info['comment']),
  'status'             => $order_info['order_status_id'],
  'admin_comments'     => $this->model_sale_order->getOrderHistories($order_id)
);

然后在order_invoice.tpl视图的末尾,你可以添加:

  <?php if ($order['status'] == 3) { ?>
  <table class="comment">
    <tr class="heading">
      <td><b><?php echo $column_comment; ?></b></td>
    </tr>
    <?php foreach ($order['admin_comments'] as $admin_comment) { ?>
        <?php if ($admin_comment['status'] == 'Shipped') { ?>
           <tr>
                <td><?php echo $admin_comment['comment']; ?></td>
           </tr>
        <?php } ?>
    <?php } ?>
  </table>
  <?php } ?>
</div>
<?php } ?>
</body>
</html>

order_status_id == 3正在发货。