Вопрос Как получить данные с брошенных корзин в prestashop

byura

Хранитель порядка
Регистрация
29 Янв 2007
Сообщения
680
Реакции
811
Нужно сделать анализ и в связи с этим вопрос - как получить данные с брошенных корзин в prestashop
т.е выгрузку имею только по суммам, посмотреть какие товары можно(отдельно), но как выгрузить?
 
Последнее редактирование:
Могу sql запросом поделиться, если такое подходит.
подходит, могу выгрузить суммы, но что кинули в корзину не видно(только в ручном режиме)
AbandonedCart.csv
oBElvCI.jpg
 
SELECT
c.id_cart,
c.date_upd,
cs.firstname,
cs.lastname,
addr.phone_mobile,
c.id_product,
c.name,
c.quantity,
c.amount
FROM
(
SELECT
c.*,
max(o.date_upd) o_date_upd
FROM
(
SELECT
c.id_cart,
c.id_customer,
c.date_upd,
c.id_address_delivery,
cp.id_product,
pl.name,
sum(cp.quantity) quantity,
sum(cp.quantity * ps.price) amount
FROM
`ps_cart` c
left join `ps_cart_product` cp ON c.id_cart = cp.id_cart
and c.id_shop = cp.id_shop
left join `ps_product_shop` ps ON cp.id_product = ps.id_product
and ps.id_shop = cp.id_shop
left join `ps_product_lang` pl ON cp.id_product = pl.id_product
and pl.id_shop = cp.id_shop and pl.id_lang = 1
left join `ps_orders` o ON c.id_cart = o.id_cart
where
c.id_customer > 0
AND o.id_cart is NULL
AND DATE_ADD(NOW(), INTERVAL -8 * 3600 SECOND) >= c.date_upd
group by
c.id_cart,
c.id_customer,
c.date_upd,
c.id_address_delivery,
cp.id_product,
pl.name
having
sum(cp.quantity) > 0
) c
left join `ps_orders` o ON not c.id_cart = o.id_cart
AND c.id_customer = o.id_customer
group by
c.id_cart,
c.id_customer,
c.date_upd,
c.id_product,
c.name,
c.quantity,
c.amount
having
DATEDIFF(
c.date_upd,
max(o.date_upd)
) > 30
OR max(o.date_upd) is NULL
) c
LEFT JOIN `ps_customer` cs ON c.id_customer = cs.id_customer
LEFT JOIN `ps_address` as addr ON c.id_address_delivery = addr.id_address
where
DATEDIFF(now(), c.date_upd) <= 7
order by
c.id_cart DESC

P.S.
Выбираются корзины, у которых зарегистрирован клиент и этот клиент не оформил заказ и последнее обновление позже чем 8 часов назад было.
Также для себя я отсекаю корзины старше 7 дней (DATEDIFF(now(), c.date_upd) <= 7), так как мне приходит рассылка раз в день. Для твоих нужд может и не понадобится это условие.
 
Получить все товары из корзин
Select ps_product.reference, ps_product_lang.name, ps_cart_product.quantity, ps_product.price, ps_cart.id_cart, ps_customer.firstname, ps_customer.lastname, ps_cart_product.date_add, ps_connections.ip_address From ps_cart Left Join ps_cart_product On ps_cart_product.id_cart = ps_cart.id_cart Left Join ps_product On ps_cart_product.id_product = ps_product.id_product Left Join ps_product_lang On ps_product.id_product = ps_product_lang.id_product Left Join ps_customer On ps_cart.id_customer = ps_customer.id_customer Inner Join ps_connections On ps_cart.id_guest = ps_connections.id_guest Order By ps_product.reference

Получить все товары из wishlists
Select ps_product.reference, ps_product_lang.name, ps_product.price, ps_customer.firstname, ps_customer.lastname From ps_customer Right Join ps_iqitwishlist_product On ps_iqitwishlist_product.id_customer = ps_customer.id_customer Left Join ps_product On ps_iqitwishlist_product.id_product = ps_product.id_product Left Join ps_product_lang On ps_iqitwishlist_product.id_product = ps_product_lang.id_product Order By ps_product.reference
 
Получить все товары из корзин
Select ps_product.reference, ps_product_lang.name, ps_cart_product.quantity, ps_product.price, ps_cart.id_cart, ps_customer.firstname, ps_customer.lastname, ps_cart_product.date_add, ps_connections.ip_address From ps_cart Left Join ps_cart_product On ps_cart_product.id_cart = ps_cart.id_cart Left Join ps_product On ps_cart_product.id_product = ps_product.id_product Left Join ps_product_lang On ps_product.id_product = ps_product_lang.id_product Left Join ps_customer On ps_cart.id_customer = ps_customer.id_customer Inner Join ps_connections On ps_cart.id_guest = ps_connections.id_guest Order By ps_product.reference

Получить все товары из wishlists
Select ps_product.reference, ps_product_lang.name, ps_product.price, ps_customer.firstname, ps_customer.lastname From ps_customer Right Join ps_iqitwishlist_product On ps_iqitwishlist_product.id_customer = ps_customer.id_customer Left Join ps_product On ps_iqitwishlist_product.id_product = ps_product.id_product Left Join ps_product_lang On ps_iqitwishlist_product.id_product = ps_product_lang.id_product Order By ps_product.reference
на какой версии запускали PS1.6 or ThirtyBees? PS1.7.6 или на последней PS1.7.8.8
 
Вот еще одна интерпретация запроса. Данные по всем корзинам, которые последний раз изменялись 8 часов назад:

SELECT
c.id_cart,
cp.id_product,
pl.name,
sum(cp.quantity) quantity
FROM
`ps_cart` c
left join `ps_cart_product` cp ON c.id_cart = cp.id_cart
and c.id_shop = cp.id_shop
left join `ps_product_lang` pl ON cp.id_product = pl.id_product
and pl.id_shop = cp.id_shop and pl.id_lang = 1
left join `ps_orders` o ON c.id_cart = o.id_cart
where
o.id_cart is NULL
AND DATE_ADD(NOW(), INTERVAL -8 * 3600 SECOND) >= c.date_upd
group by
c.id_cart,
cp.id_product,
pl.name
 
на какой версии запускали PS1.6 or ThirtyBees? PS1.7.6 или на последней PS1.7.8.8
Давно делал с помощью Визуального конструктора запросов Prestashop Store Manager. Не думаю, чтоб что-то поменялось ибо таблицы те же. Год не проверял.
 
Назад
Сверху