Luchik

search.php как убрать лишнее?

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

Luchik    1

catalog\controller\product\search.php

вот файл, отвечающий за формирование результатов.

У меня проблема в том, что при точном поиске находит один товар, но пагинация идет для всех включенных товаров.

Допустим: найден один товар - Показано с 1 по 15 из 1863 (страниц: 125)

Нашел совет - убрать одну строчку:

$pagination->total = $product_total;

Она действительно убирает пагинацию и показывает только 1 страницу, но это ограничивает пользователей. А вдруг искомый товар будет на второй странице.

 

Да и поиск происходит по всем товарам - включены они или выключены. Может кто подскажет как производить поиск только по включенным товарам?

Во код поиска, похоже:

$this->data['products'] = array();
		
		if (isset($this->request->get['search']) || isset($this->request->get['tag'])) {
			$data = array(
				'filter_name'         => $search, 
				'filter_tag'          => $tag, 
				'filter_description'  => $description,
				'filter_category_id'  => $category_id, 
				'filter_sub_category' => $sub_category, 
				'sort'                => $sort,
				'order'               => $order,
				'start'               => ($page - 1) * $limit,
				'limit'               => $limit
			);
					
			$results = $this->model_catalog_product->getProducts($data);

Поделиться сообщением


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

А вы уверены, что поиск по всем товарам?

В модели

getProducts

жестко прописано

AND p.status = '1'

Поделиться сообщением


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

А у меня такой строчки нету. Можете прислать ваш файл search.php?

Поделиться сообщением


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

в контроллере

search.php

model_catalog_product->getProducts($data)

 

в модели в методе

 

getProducts()

 

вызывается getProduct()

и там в самой первой строке есть вот такое

WHERE p.product_id = '" . (int)$product_id . "' 
			AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' 
			AND p.status = '1' 

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу