Доброго времени дамы и господа...
Моё обращение, вернее консультирование в тупиковом вопросе:
Опции в корзине...
итак, есть пациент: если добавить этот товар, можно с и без опций, то видно, что вывел их (опции) в мод Simple + подключен на reload, в случае выбора той или иной опции + калькулирование цены добавил, но это не существенно...
в общем: при выборе в корзине той или иной опции отсылается POST с массивом "несериализированных" данных в корзину на апдейт, сама же функция апдейта на текущий момент имеет вид:
public function update($key, $qty, $option = array()) {
$blink = explode(':', $key);
if (isset($blink[1]) && $option) {
$opt = unserialize(base64_decode($blink[1]));
foreach ($opt as $keyper => $value) {
if (!in_array($value, $option)) {
$phrase = (int)$blink[0] . ':' . base64_encode(serialize($option));
unset($key);
$key = $phrase;
}
}
} elseif(!isset($blink[1]) && $option) {
unset($key);
$key = (int)$blink[0] . ':' . base64_encode(serialize($option));//$key
}
if ((int)$qty && ((int)$qty > 0)) {
$this->session->data['cart'][$key] = (int)$qty;
} else {
$this->remove($key);
}
$this->data = array();
}
Вроде бы всё хорошо, но... при выборе опции, клонируются ключи, то есть ID товара:опции unset ключа не срабатывает, то есть $this->session->data['cart'][$key] - всё время разный, а не обновляется...
Вопрос: может кто сталкивался или имеет трезвый взгляд со стороны или алгоритм может как то сменить... а то именно с обновлением корзины как раз то и остался момент, никак не решенный.
Спасибо за внимание.