Prestashop - Backoffice - 添加订单显示地址

时间:2017-02-17 14:44:21

标签: php prestashop customization

当我在后台并尝试添加订单并搜索我的客户时,我想在小方框中显示客户的地址。  AddOrder-Search for Customer screenshot

/themes/default/template/controllers/orders/form.tpl我有:

int

但这只是表现为“未定义” 所以我想我需要在controllers / admin / AdminCustomersController.php(searchCustomers)中添加一些内容,但我不确定。

有人能告诉我我错过了什么代码吗?

我正在使用Prestashop 1.6.1.7

1 个答案:

答案 0 :(得分:1)

要显示数据,您需要获取数据(如果数据不存在)。在这种情况下,this.addresses通知undefined,因为它不“存在”。

您可以在override / controllers / admin / AdminCustomerControllers.php

中使用它
SharedPreferences

这将定义地址(仅限地址的别名,如果您需要更多地址,只需更改行public function ajaxProcessSearchCustomers() { $searches = explode(' ', Tools::getValue('customer_search')); $customers = array(); $searches = array_unique($searches); foreach ($searches as $search) { if (!empty($search) && $results = Customer::searchByName($search, 50)) { foreach ($results as $result) { if ($result['active']) { $customer = new Customer($result['id_customer']); $addresses = $customer->getAddresses($this->context->language->id); $result['addresses'] = ''; if(is_array($addresses) and !empty($addresses)) { foreach ($addresses as $address) { $result['addresses'] .= $address['alias'].'<br />'; } } $customers[$result['id_customer']] = $result; } } } } if (count($customers)) { $to_return = array( 'customers' => $customers, 'found' => true ); } else { $to_return = array('found' => false); } $this->content = Tools::jsonEncode($to_return); }

不要忘记设置正确的班级$result['addresses'] .= $address['alias'].'<br />';,然后删除文件class AdminCustomersController extends AdminCustomersControllerCore