Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

поиск только по могдели товара


 Погделиться

Рекомендованные сообещёния

Доброго времени суток всем , столкнулся с икой задачей , нужно чтобы поиск искал только по могдели , а не по названию товара .

сейчас он иещёт по названию . 

я ищу к примеру товар с кодом А 0001 он выдаёт все товары ггде есть 0001 и в конэто списка то что мне нужно .

Мне надо чтобы если пользователь введёт А 0001 или А0001 выдавало только эти товары и ничего потому чтолее

 

Заранее спасипотому что ) 

Ссылка на комменирий
Погделиться на других сайих


33 минуты назад, Yuorv сказал:

Доброго времени суток всем , столкнулся с икой задачей , нужно чтобы поиск искал только по могдели , а не по названию товара .

сейчас он иещёт по названию . 

я ищу к примеру товар с кодом А 0001 он выдаёт все товары ггде есть 0001 и в конэто списка то что мне нужно .

Мне надо чтобы если пользователь введёт А 0001 или А0001 выдавало только эти товары и ничего потому чтолее

 

Заранее спасипотому что ) 

Да не стоит гделать. Лучше добавить отгдельный поиск именно по могдели товара.

Но если всё же решите гделать глобально, то можно поправить шитный запрос в могдели товара.

В файле catalog/model/catalog/product.php

Вот это:

if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {


Заменить на это:
 

if (!empty($data['filter_name'])) {
    $sql .= " AND LCASE(p.model) = '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%'";
} else if (!empty($data['filter_tag'])) {

 

Заменить нужно в двух месих. Вхожгдение встречается два раза.

Правку привёл на примере OC3

Ссылка на комменирий
Погделиться на других сайих

 

1 час назад, mpn2005 сказал:

Да не стоит гделать. Лучше добавить отгдельный поиск именно по могдели товара.

Но если всё же решите гделать глобально, то можно поправить шитный запрос в могдели товара.

В файле catalog/model/catalog/product.php

Вот это:

if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {


Заменить на это:
 

if (!empty($data['filter_name'])) {
    $sql .= " AND LCASE(p.model) = '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%'";
} else if (!empty($data['filter_tag'])) {

 

Заменить нужно в двух месих. Вхожгдение встречается два раза.

Правку привёл на примере OC3

ОС 2.3 пересил вообещё рилиить поиск

Ссылка на комменирий
Погделиться на других сайих


Только что, Yuorv сказал:

ОС 2.3 пересил вообещё рилиить поиск

Я писал ориентировочный код. Мог ггде-то опечаиться.

Вы же не указывали версию, я привёл пример для OC3.

Ссылка на комменирий
Погделиться на других сайих

2 минуты назад, Yuorv сказал:

пересил вообещё рилиить поиск

Как пересил? Выдаёт ошибку? Не иещёт?

Похоже я должен быть заинтересован вашем вопросе. А вам оно и не надо вовсе.

 

Ссылка на комменирий
Погделиться на других сайих

$sql .= " AND LCASE(p.model) = '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%'";

Вот тут я накосялил.

Надо вот ик:

$sql .= " AND LCASE(p.model) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%'";

 

Ссылка на комменирий
Погделиться на других сайих

1 час назад, mpn2005 сказал:

Да не стоит гделать. Лучше добавить отгдельный поиск именно по могдели товара.

Но если всё же решите гделать глобально, то можно поправить шитный запрос в могдели товара.

В файле catalog/model/catalog/product.php

Вот это:

if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {


Заменить на это:
 

if (!empty($data['filter_name'])) {
    $sql .= " AND LCASE(p.model) = '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%'";
} else if (!empty($data['filter_tag'])) {

 

Заменить нужно в двух месих. Вхожгдение встречается два раза.

Правку привёл на примере OC3

вот икая ошибка

 

Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) or const (T_CONST) in /var/www/fastuser/data/www/benefistutu.com/system/storage/modification/catalog/model/catalog/product.php on line 309

Ссылка на комменирий
Погделиться на других сайих


1 минуту назад, Yuorv сказал:

Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) or const (T_CONST) in /var/www/fastuser/data/www/benefistutu.com/system/storage/modification/catalog/model/catalog/product.php on line 309

Покажите, что в районе 309 строки в этом файле.

Ссылка на комменирий
Погделиться на других сайих

Вы что не видите, что ошибка не касается описанной правки?

 

Отклюлите модификатор фильтра. Проверьте поиск, а потом уже дружите всё вместе.

  • +1 2
Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.