Перейти к содержанию
Форум поддержки пользователей VamShop

В поиске выдаются товары из скрытых категорий


Рекомендуемые сообщения

Нужно, видимо, делать неактивными товары внутри категорий, т.к. в /advanced_search_result.php есть такая строка:


WHERE p.products_status = '1'
[/code]

т.е. ищутся активные товары.

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

если нету, то сделать left join products_to_categories & categories и проверять по categories_status

все по памяти нет доступа к коду... но суть думаю понятна)

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

если нету, то сделать left join products_to_categories & categories и проверять по categories_status

все по памяти нет доступа к коду... но суть думаю понятна)

Вы могли бы привести код, очень нужно, а не получается никак сделать. Хотя суть понятна ))

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

Ура! Все получилось :)

В файле advanced_search_result.php

заменить

$from_str  = "FROM ".TABLE_PRODUCTS." AS p LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." AS pd ON (p.products_id = pd.products_id) ";

на

$from_str  = "FROM ".TABLE_PRODUCTS."  AS p LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." AS pd ON (p.products_id = pd.products_id) LEFT JOIN products_to_categories as p2c ON (p2c.products_id=p.products_id) LEFT JOIN categories as c ON (c.categories_id=p2c.categories_id)";

и

$where_str = " WHERE p.products_status = '1' "." AND pd.language_id = '".(int) $_SESSION['languages_id']."'".$subcat_where.$fsk_lock.$manu_check.$group_check.$tax_where.$pfrom_check.$pto_check;

на

$where_str = " WHERE p.products_status = '1' "." AND c.categories_status=1 AND pd.language_id = '".(int) $_SESSION['languages_id']."'".$subcat_where.$fsk_lock.$manu_check.$group_check.$tax_where.$pfrom_check.$pto_check;

Саша, когда уже над проектом будут систематически работать программеры????

2mosquito: Большое спасибо!

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

Тогда я не понимаю вот этого :)

Сделать кому!?

У меня нет этого кода, если б был, я б конечно написал как сделать.

А это исправление будет включено в новую версию?

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

Нет, не будет.

Потому что этот код не работает, если в форме расширеного поиска выбрана категория.

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

А так? ;)

$from_str  = "FROM ".TABLE_PRODUCTS."  AS p LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." AS pd ON (p.products_id = pd.products_id) LEFT JOIN products_to_categories as p2c2 ON (p2c2.products_id=p.products_id) LEFT JOIN categories as c ON (c.categories_id=p2c2.categories_id)";

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

pervak

Я вот завёл в bug tracker'e ошибку - http://vamshop.ru/bugs/view.php?id=361

К следующей версии разберусь.

Но всё равно смущает такой запрос, поиск это ведь довольно ресурсоёмкая задача и если товаров в магазине много, не будет ли слишком крутой запрос, вобщем, гляну.

Спасибо.

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

у меня с 4000 товаров добавка не сильно поела ресурсы.

В любом случае, выводить скрытые товары - это гораздо вреднее, чем какая-то нагрузка на сервер ))

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

Кому-то наоборот нужно выводить, всё ж от магазина зависит.

Вобщем, я посмотрю обязательно этот момент к выходу следующей версии.

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...
×
×
  • Создать...