【发布时间】:2018-04-05 13:39:41
【问题描述】:
我有一个 vqmod,它可以将客户 custom_field 添加到 invoice.tpl,只要我点击一张发票的打印按钮,它就可以正常工作。但如果我选择多个订单并点击打印发票按钮,则仅显示一个订单(最旧的)的自定义字段值。
vqmod 下面:
<file name="admin/controller/sale/order.php">
<operation>
<search position="before"><![CDATA[$total_data = array();]]></search>
<add><![CDATA[
$data['account_custom_field'] = $order_info['custom_field'];
// Custom Fields
$this->load->model('customer/custom_field');
$data['account_custom_fields'] = array();
$filter_data = array(
'sort' => 'cf.sort_order',
'order' => 'ASC',
);
$custom_fields = $this->model_customer_custom_field->getCustomFields($filter_data);
foreach ($custom_fields as $custom_field) {
if ($custom_field['location'] == 'account' && isset($order_info['custom_field'][$custom_field['custom_field_id']])) {
if ($custom_field['type'] == 'text') {
$data['account_custom_fields'][] = array(
'name' => $custom_field['name'],
'value' => $order_info['custom_field'][$custom_field['custom_field_id']]
);
}
}
}
]]></add>
</operation>
</file>
<file name="admin/view/template/sale/order_invoice.tpl">
<operation info="add custom field in invoice">
<search position="after"><![CDATA[<?php echo $order['payment_address']; ?>]]></search>
<add><![CDATA[
<?php if ($account_custom_fields) { ?>
<br /><br />
<?php foreach ($account_custom_fields as $custom_field) { ?>
<b><?php echo $custom_field['name']; ?>:</b> <?php echo $custom_field['value']; ?>
<?php } ?>
<?php } ?>
]]></add>
</operation>
</file>
我忘记了什么?
【问题讨论】: