Автор Тема: Внутренний код товара  (Прочитано 11998 раз)

Оффлайн Dentar

  • Пользователь
  • **
  • Сообщений: 47
    • Просмотр профиля
Внутренний код товара
« : Июля 16, 2012, 10:44:51 pm »
Добрый вечер всем!

Как можно присвоить каждому товару внутренний код?
То есть чтобы при просмотре товара наряду с артикулом отображался внутренний код товара (который пробивался бы через поиск).
Например, есть товар - часы Casio Data Bank DBC-32-1AEF. Его артикул - DBC-32-1AEF. Звонит к примеру клиент и спрашивает: "хочу купить часы касио дбс321авеф"... И попробуй найди его на сайте...
А ведь гораздо проще будет и клиенту и менеджеру, если клиент назовет внутренний код товара, например 12174.
Думаю это очень важная функция, особенно для магазинов с большим ассортиментом товаров.
Как можно присвоить такой код для каждого товара, и что-бы он обязательно пробивался через поиск?
Спасибо за внимание.
« Последнее редактирование: Июля 16, 2012, 10:47:31 pm от Dentar »

Оффлайн Dentar

  • Пользователь
  • **
  • Сообщений: 47
    • Просмотр профиля
Re: Внутренний код товара
« Ответ #1 : Июля 16, 2012, 11:31:05 pm »
А возможно в качестве внутреннего кода использовать productID, и чтобы он пробивался через поиск?

nictboom

  • Гость
Re: Внутренний код товара
« Ответ #2 : Июля 16, 2012, 11:59:02 pm »
{$product_info[11]}

Оффлайн Dentar

  • Пользователь
  • **
  • Сообщений: 47
    • Просмотр профиля
Re: Внутренний код товара
« Ответ #3 : Июля 17, 2012, 09:51:44 am »
slamm, на витрине. Вот разместил в подробном описании товара productID, как подсказал nictboom, - {$product_info[11]}, но через поиск на витрине товар по коду не находит...
Артикул, например через поиск пробивает, а как сделать чтобы productID пробивался?
« Последнее редактирование: Июля 17, 2012, 10:47:34 am от Dentar »

Оффлайн Dentar

  • Пользователь
  • **
  • Сообщений: 47
    • Просмотр профиля
Re: Внутренний код товара
« Ответ #4 : Июля 17, 2012, 01:27:56 pm »
Slamm, спасибо за совет. Разобрался!
Если кому интересно, вот кусок измененного кода в файле includes/search_simple.php:

//searching for products
$s_search = "SELECT count(*) FROM ".PRODUCTS_TABLE." LEFT JOIN ".BRAND_TABLE." USING(brandID) WHERE Enabled=1 and categoryID<>0 and ";
     
$s_search .= "((".PRODUCTS_TABLE.".name LIKE '%".$search[0]."%' OR ".PRODUCTS_TABLE.".description LIKE '%".$search[0]."%' OR brief_description LIKE '%".$search[0]."%'OR product_code LIKE '%".$search[0]."%' OR productID LIKE '%".$search[0]."%') ";
for ($j=1; $j<count($search); $j++) $s_search .= "AND (".PRODUCTS_TABLE.".name LIKE '%".$search[$j]."%' OR ".PRODUCTS_TABLE.".description LIKE '%".$search[$j]."%' OR brief_description LIKE '%".$search[$j]."%' OR product_code LIKE '%".$search[$j]."%' OR productID LIKE '%".$search[$j]."%') ";
$s_search .= ") ";

В строке 352 было добавлено:
OR productID LIKE '%".$search[0]."%'
и строке 353:
OR productID LIKE '%".$search[$j]."%'

Теперь товар можно искать по внутреннему коду (productID)!
« Последнее редактирование: Июля 17, 2012, 01:41:36 pm от slamm™ »

Оффлайн rom1

  • Спец
  • ***
  • Сообщений: 136
    • Просмотр профиля
Re: Внутренний код товара
« Ответ #5 : Июля 17, 2012, 11:29:20 pm »
В обычном поиске работает поиск по артикулу, в расширенном - нет.
Так и задумано? В чем различя механизмов (кроме наличия выбора категории и цены у расширенного).

nictboom

  • Гость
Re: Внутренний код товара
« Ответ #6 : Июля 18, 2012, 12:20:51 am »
Цитировать
Так и задумано?
по ходу да.
если делать и для расширенного поиск по артикулу(код товара), править, примерно, строка 142. заменить/поправить:if  ($keyword != STRING_SEARCH) $sql .=" and ".PRODUCTS_TABLE.".name like '%".$keyword."%'";
наif  ($keyword != STRING_SEARCH) $sql .=" and ".PRODUCTS_TABLE.".name like '%".$keyword."%' or ".PRODUCTS_TABLE.".product_code like '%".$keyword."%'";
« Последнее редактирование: Июля 18, 2012, 01:04:30 am от nictboom »

Оффлайн rom1

  • Спец
  • ***
  • Сообщений: 136
    • Просмотр профиля
Re: Внутренний код товара
« Ответ #7 : Июля 18, 2012, 01:54:27 am »
Спасибо!
Судя по коду простой поиск значительно функциональнее?