У меня есть следующие функции: OpenCart добавить продукт в сессииудалось установить сеанс для многомерного массива в PHP OpenCart
Рассмотрим это как мой $bean_sku
и $product_id
$bean_id = 'werwer-23423s-sd-01';
$product_id = 120;
public function add($product_id, $bean_sku, $qty = 1, $option = array()) {
if (!$option) {
$key = (int)$product_id;
} else {
$key = (int)$product_id . ':' . base64_encode(serialize($option));
}
if ((int)$qty && ((int)$qty > 0)) {
if (!isset($this->session->data['cart'][[$bean_sku][$key]])) { echo 'not set';
$this->session->data['cart'][[$bean_sku][$key]] = (int)$qty;
} else { echo 'session set';
$this->session->data['cart'][[$bean_sku][$key]] += (int)$qty;
}
}
echo $this->session->cart;
exit;
$this->data = array();
}
В приведенной выше функции я добавил $bean_sku
Но я не могу установить сеанс. Каждый раз, когда я бегу, получаю not set
.
Я думаю, что проблема здесь: 'Эхо $ this-> session-> телега;' Это будет ничего не эхо. '$ This-> session' не является объектом, это массив, поэтому вам нужно сделать' print_r ($ this-> session ['cart']); '- тогда вы увидите, что даже ваш собственный код работает. Но я по-прежнему рекомендую использовать код, который предлагает Nouphal. – shadyyx