Cscart_promotions

Добрый день, коллеги!
Подскажите, пожалуйста, каким образом можно вытянуть товары из акции из таблицы cscart_promotions через php???
Нужно вытянуть из этой таблицы product_id и promotion_id

А какие условия акции у вас? Указаны все товары в условиях?

Акция для корзины и указан всего один товар в условиях.
conditions:

a:3:{s:3:"set";s:3:"any";s:9:"set_value";s:1:"1";s:10:"conditions";a:1:{i:1;a:3:{s:8:"operator";s:2:"in";s:9:"condition";s:8:"products";s:5:"value";a:1:{i:1903908317;a:3:{s:3:"aoc";s:1:"N";s:10:"product_id";s:5:"36987";s:6:"amount";s:1:"2";}}}}}

bonuses:

a:1:{i:1;a:4:{s:5:"bonus";s:20:"discount_on_products";s:5:"value";s:5:"36987";s:14:"discount_bonus";s:13:"by_percentage";s:14:"discount_value";d:3;}}

conditions_hash:

products=1903908317

Ну, в принципе, и всё. Только вот как вытянуть product_id из conditions, зная “шифр” в conditions_hash?

ну вот же у вас там
сделайте unserialize для conditions или bonuses и получите обыкновенный массив

3 лайка

Либо регулярное выражение написать, которое бы строку сразу во время запроса обрабатывало

1 лайк

2025-07-01_12-43-08

Уважаемый, а не подскажите как вытащить из этого массива product_id, если известно значение 1903908317?

$conditions['conditions'][1]['value'][1903908317]['product_id']

так?

2 лайка

Благодарю, помогло! Действительно то, что нужно. Просто до этого с serialize и unserialize не работал совсем)

1 лайк

Эта тема была автоматически закрыта через 3 дня после последнего ответа. В ней больше нельзя отвечать.