У меня есть «функция скидок», позволяющая продавцам добавлять свои собственные скидки, один из вариантов - поиск по покупателю, но когда вы набираете, например, @gmail, он перечисляет всех покупателей с @gmail, даже если их тысячи, которые янайти очень плохую вещь, чтобы случиться.У меня есть этот JS-код, выполняющий завершение. Я полагаю, что именно он отвечает за этот беспорядок:
Пожалуйста, проверьте код JS, если вам нужен класс PHP, я могу его предоставить.
$(document).on('keyup', '#wkslotcustomer', function(e){
//$('#wkslotcustomer').on('keyup', function(){
var field = $('#wkslotcustomer').val();
if(field != '' && field.length > 2) {
$.ajax({
'type': 'POST',
'url' : modules_dir+'mpslotpricing/ajax/priceslotprocess.php',
//'url': "{$link->getModuleLink('mpslotpricing', 'process')|addslashes}",
'async': true,
'dataType': 'json',
'data': {
'cust_search': '1',
'keywords' : field,
},
'success': function(result)
{
if(result.found) {
var html = '<ul class="list-unstyled">';
$.each(result.customers, function() {
html += '<li>'+this.firstname+' '+this.lastname;
html += ' - '+this.email;
html += '<a onclick="selectcustomer('+this.id_customer+', \''+this.firstname+' '+this.lastname+'\'); return false" href="#" class="btn btn-default">'+Choose+'</a></li>';
});
html += '</ul>';
}
else
html = '<div class="alert alert-warning">'+no_customers_found+'</div>';
$('#customers').html(html);
},
});
}
});
Функция PHP:
public function searchCustomer($is_search)
{
$mp_product_id = Tools::getValue('mp_product_id');
if ($is_search) {
$searches = explode(' ', Tools::getValue('keywords'));
$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']) {
$customers[$result['id_customer']] = $result;
}
}
}
}
if (count($customers)) {
$to_return = array(
'customers' => $customers,
'found' => true
);
} else {
$to_return = array('found' => false);
}
die(Tools::jsonEncode($to_return));
}
}
Как я могу принудить сначала получить полный адрес электронной почты, а затем выполнить поиск?