Автор Тема: Как выбрать товары залогиненого кастомера  (Прочитано 59 раз)

08 Апрель 2021, 10:07:18
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
 как правильно сделать ?
таким способом я выбираю все товары всех пользрватилей

public function runQuery(
        ProductSearchQuery $query
    ) {
       
        $db = Db::getInstance();
        $request = 'SELECT `id_product` FROM `' . _DB_PREFIX_ . 'favorite_products`';
        $productsCount = "SELECT `count('id_product')` FROM `' . _DB_PREFIX_ . 'favorite_products` ";
        $idcustomer = $db->execute($request);
        $count = $db->execute($productsCount);

        $result = new ProductSearchResult();

        if (!empty($idcustomer)) {
            $result
                ->setProducts($idcustomer)
                ->setTotalProductsCount($productsCount);

            $result->setAvailableSortOrders(
                $this->sortOrderFactory->getDefaultSortOrders()
            );

        return $result;
        }
    }
08 Апрель 2021, 10:41:06
Ответ #1
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
потрібно зробити пошук по id_customer   :o
08 Апрель 2021, 11:38:31
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 16422
  • Репутация: +14622/-5
  • Сообщество PrestaShop
    • Просмотр профиля
WHERE id_customer = ...так добавьте условие
08 Апрель 2021, 11:47:41
Ответ #3
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
добавил, id_customer, тогда мен надо прописать ету переменную  тоесть $id_customer = (int)$this->context->customer->id;



верно?
08 Апрель 2021, 11:55:22
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 16422
  • Репутация: +14622/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Ну да, нужно определить id клиента.
Только зарегистированного клиента вы можете отследить, если он авторизировался.
08 Апрель 2021, 11:58:14
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1738
  • Репутация: +47/-1
  • Сообщество PrestaShop
    • Просмотр профиля
добавил, id_customer, тогда мен надо прописать ету переменную  тоесть $id_customer = (int)$this->context->customer->id;
верно?
или так
Context::getContext()->customer->id
08 Апрель 2021, 12:47:35
Ответ #6
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
кто может связатся чтобы помочь?