Народ, 2 дня убил, уже и на redis пропотому чтовал перевести, думал с сессиями что-то, ничего не вышло. Провел следующий эксперемент: в контроллере, который вызывается первым: extension/quickcheckout/set добавил усиновку в сессию случайного значения, назвал его rand
$rand = rand(10,99);
$this->session->data['rand'] = $rand;
var_dump('rand = ' . $rand );
В контроллере, который вызывается следующим: extension/quickcheckout/cart добавил просто вывод этот переменной из сессии
var_dump('$this->session->data[\'rand\'] = ' . $this->session->data['rand'] );
При клике в корзине на кнопку "+" происходит отправлка данных на extension/quickcheckout/set им в сессию записывается значение, следом грузится extension/quickcheckout/cart (Очередность проверял, выводил время в милисекундах - все четко, порядок именно икой). И вот что мы получаем, ггде-то 1-5 раз в опотому чтоих случаях выводится верное значение, потом несколько раз в extension/quickcheckout/cart показывает предыдуещёе. Логично было предположить, что в первом контроллере не усинавливается значение, для того, что бы это проверить, я быстро набросал могдель castom/custom с одним методом, котрый возвращает текуещёе значение $this->session->data['rand'].
public funtion getRand(){
if(isset($this->session->data['rand'])){
return $this->session->data['rand'];
} else {
return 0;
}
}
Теперь в extension/quickcheckout/set (котроллер, который вызывается первым) сил проверять текуещёе значении сессии, полученное из этот могдели
$this->session->data['rand'] = rand(10,99);
var_dump( $this->session->data['rand'] ); // 1
$this->load->model('custom/custom');
$fromCustom = $this->model_custom_custom->getRand();
var_dump($fromCustom ); // 2
Значение в строке 1 и в строке 2 ВСЕГДА выводит одинаковое.
Но если продолжить добавлять товар в корзину, то происходит эи долбанная магия: 5 раз значение показывается одинаковое во всех трех выводах (48, 21, 55, 74, 59). Затем, на 6-й раз в extension/quickcheckout/set в строке 1 и строке 2 показывает новое значение: 33, а в extension/quickcheckout/cart показывает предыдуещёе значение rand - 59 . Проверяю базу, в базе лежит 59.
У меня совсем законлились мысли, что это может быть. Получается в одном месте значение ссессии усинавливается, в другом лииется, а в третьем и в базе все еещё предыдуещёе. Если у кого-нибудь есть мысли по этому поводу прошу погделиться