Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Поиск по номеру телефона


Recommended Posts

Доброе. Постал вопрос как в админке admin/index.php?route=sale/order/add

 

Переделать автозаполнение поиска с ФИО пользователя на телефон

 

Пример на скрине

 

post-712811-0-43443200-1468766730_thumb.png

 

Подскажите кто знает.

Надіслати
Поділитися на інших сайтах


немного изменить sql запрос в этом autocomplete. делов ну минут на 10

Я догадался, что необходимо сменить поле грубо говоря с c.name на c.telephone Я не могу найти в каком файле нужно менять и строку SELECT

Надіслати
Поділитися на інших сайтах


Надіслати
Поділитися на інших сайтах


Спасибо разобрался если кому понадобиться в файле admin/model/customer/customer.php

Найти

	public function getCustomers($data = array()) {
		$sql = "SELECT *, CONCAT(c.firstname, ' ', c.lastname) AS name, cgd.name AS customer_group FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id) WHERE cgd.language_id = '" . (int)$this->config->get('config_language_id') . "'";

		$implode = array();

		if (!empty($data['filter_name'])) {
			$implode[] = "CONCAT(c.firstname, ' ', c.lastname) LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
		}

И заменить на 

	public function getCustomers($data = array()) {
		$sql = "SELECT *, CONCAT(c.telephone) AS name, cgd.name AS customer_group FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id) WHERE cgd.language_id = '" . (int)$this->config->get('config_language_id') . "'";

		$implode = array();

		if (!empty($data['filter_name'])) {
			$implode[] = "CONCAT(c.telephone) LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
		}
Надіслати
Поділитися на інших сайтах


Это не то. Я думал купить данный плагин но он только для поиска в заказах.

я из соображений не ковырять то что есть

по мне лучше дополнениями проделывать такое

 

Надіслати
Поділитися на інших сайтах


  • 6 years later...
17.07.2016 в 22:16, Archangel сказал:

Спасибо разобрался если кому понадобиться в файле admin/model/customer/customer.php

Найти

  Скрыть содержимое
	public function getCustomers($data = array()) {
		$sql = "SELECT *, CONCAT(c.firstname, ' ', c.lastname) AS name, cgd.name AS customer_group FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id) WHERE cgd.language_id = '" . (int)$this->config->get('config_language_id') . "'";

		$implode = array();

		if (!empty($data['filter_name'])) {
			$implode[] = "CONCAT(c.firstname, ' ', c.lastname) LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
		}

И заменить на 

  Скрыть содержимое
	public function getCustomers($data = array()) {
		$sql = "SELECT *, CONCAT(c.telephone) AS name, cgd.name AS customer_group FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id) WHERE cgd.language_id = '" . (int)$this->config->get('config_language_id') . "'";

		$implode = array();

		if (!empty($data['filter_name'])) {
			$implode[] = "CONCAT(c.telephone) LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
		}

Может быть подскажите, как при поиске по телефону, игнорировать символы маски "+", "-", "(", ")", чтобы поиск велся только по цифрам номера? 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.