Prestashop - 后台 - 添加订单显示地址
Prestashop - Backoffice - Add Order show address
当我在后台尝试添加订单并搜索我的客户时,我想在小框中显示客户的地址。
AddOrder-Search for Customer screenshot
在 /themes/default/template/controllers/orders/form.tpl 我有:
function searchCustomers()
{
..........................
html += '<div class="panel-heading">'+this.company+' '+this.firstname+' '+this.lastname;
html += '<span class="pull-right">#'+this.id_customer+'</span></div>';
html += '<span>'+this.email+'</span><br/>';
html += '<span>'+this.addresses+'</span><br/>';
但这只是显示为 "undefined"
所以我想我需要在 controllers/admin/AdminCustomersController.php (searchCustomers) 中添加一些内容,但我不确定。
有人可以告诉我我缺少什么代码吗?
我正在使用 Prestashop 1.6.1.7
要显示数据,如果数据不存在,则需要获取数据。在这种情况下,this.addresses 通知未定义,因为它没有 "exist".
您可以在 override/controllers/admin/AdminCustomerControllers 中使用它。php
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 />';
。
不要忘记设置正确的classclass AdminCustomersController extends AdminCustomersControllerCore
然后删除文件cache/class_index.php
当我在后台尝试添加订单并搜索我的客户时,我想在小框中显示客户的地址。 AddOrder-Search for Customer screenshot
在 /themes/default/template/controllers/orders/form.tpl 我有:
function searchCustomers()
{
..........................
html += '<div class="panel-heading">'+this.company+' '+this.firstname+' '+this.lastname;
html += '<span class="pull-right">#'+this.id_customer+'</span></div>';
html += '<span>'+this.email+'</span><br/>';
html += '<span>'+this.addresses+'</span><br/>';
但这只是显示为 "undefined" 所以我想我需要在 controllers/admin/AdminCustomersController.php (searchCustomers) 中添加一些内容,但我不确定。
有人可以告诉我我缺少什么代码吗?
我正在使用 Prestashop 1.6.1.7
要显示数据,如果数据不存在,则需要获取数据。在这种情况下,this.addresses 通知未定义,因为它没有 "exist".
您可以在 override/controllers/admin/AdminCustomerControllers 中使用它。php
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 />';
。
不要忘记设置正确的classclass AdminCustomersController extends AdminCustomersControllerCore
然后删除文件cache/class_index.php