【问题标题】:How to display order total price in opencart order mail (needed for email markup)如何在 opencart 订单邮件中显示订单总价(电子邮件标记需要)
【发布时间】:2016-09-20 11:53:01
【问题描述】:

我正在尝试为 OC 2+ 订单邮件插入电子邮件标记 (https://developers.google.com/gmail/markup/reference/types/PriceSpecification),但我一直在显示不带货币符号的总价。

问题是 OC 将所有内容视为总计(小计、税金、运费和最终总计),因此我无法弄清楚如何在扣除所有税金、运费等之后提取最终总和。

<?php foreach ($totals as $total) { ?>
  <tr>
    <td colspan="4"><b><?php echo $total['title']; ?>:</b></td>
    <td><?php echo $total['text']; ?></td>
  </tr>
<?php } ?>

感谢任何帮助!谢谢

【问题讨论】:

    标签: php opencart


    【解决方案1】:

    你可以在这里找到代码:

    /catalog/model/checkout/order.php
    

    这是:

    // Order Totals
    $order_total_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order_total` WHERE order_id = '" . (int)$order_id . "' ORDER BY sort_order ASC");
    
    foreach ($order_total_query->rows as $total) {
        $data['totals'][] = array(
            'title' => $total['title'],
            'text'  => $this->currency->format($total['value'], $order_info['currency_code'], $order_info['currency_value']),
        );
    }
    

    只需使用 VQmod 将值索引添加到数组中。 转到 VQmod 文件夹中的 xml 文件夹 创建一个文件,将其命名为您想要的名称并在其中写入以下行:

    <modification>
    <id>Get Value Without Formatting</id>
    <version>OC 2</version>
    <vqmver>1.0.0</vqmver>
    <author>Your Name</author>
    <file name="catalog/model/checkout/order.php">
        <operation>
            <search position="before"><![CDATA['text'  => $this->currency->format($total['value'], $order_info['currency_code'], $order_info['currency_value']),]]></search>
            <add><![CDATA[
                'value' => $order_info['currency_value'] ? ((float)$total['value'] * $order_info['currency_value']) : $total['value'],
                ]]></add>
        </operation>
    </file>
    

    【讨论】:

      猜你喜欢
      • 2018-03-14
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      相关资源
      最近更新 更多