У меня та же проблема. код не работает, когда в корзине больше товаров. Если в корзине только один товар, все работает.
Может кто-нибудь помочь мне решить это?
public function Checkout()
{
if (count($this->cart->contents())>0)
{
foreach ($this->cart->contents() as $item)
{
if($item['id'] == 2 or $item['id'] == 100)
{
$this->parser->parse('checkout', isset($data) ? $data : NULL) ;
}else{
redirect('app/cart_configuration') ;
}
if($item['id'] == 200 && $item['id'] == 100)
{
redirect('app/cart_configuration') ;
}
}
}
}
Взгляните на первое условное внутри foreach
петля. Если условие возвращается true
звоните parse
, если это не так, вы перенаправляете на другую страницу. Как только первое условие false
Вы останавливаете выполнение скрипта и перенаправляете на другую страницу. Таким образом, в зависимости от порядка товаров в корзине, вы увидите перенаправление в разных точках. Это, наверное, не то, что вы хотите?
Кроме того, взгляните на ваш второй условный внутри foreach
петля. Он всегда вернется false
, Просто гадать снова, но это, вероятно, не то, что вы хотите.
Других решений пока нет …