Jump to content

Recommended Posts

Доброго времени дамы и господа...

Моё обращение, вернее консультирование в тупиковом вопросе:

Опции в корзине...

итак, есть пациент: если добавить этот товар, можно с и без опций, то видно, что вывел их (опции) в мод 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] - всё время разный, а не обновляется...

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

Спасибо за внимание.

Share this post


Link to post
Share on other sites

А что такое $key

 

может нужно

public function update(&$key, $qty, $option = array())

Share this post


Link to post
Share on other sites

$key - ID товара в сессии корзины, суть в том, что передает то 3 разных ключа (товара в корзине) вместо одного:

1. Просто товар без опций

2. Товар с опцией 1

3. Товар с опцией 2

Вопрос: как обновить опции к товару в корзине ? Костыль по типу: remove $key, а потом add по новой со всеми параметрами - отпадает.

 

P.S. Ссылаться на источник посредством амперсанта - не помогло.

 

Вот описание метода, который я модифицирую.

Share this post


Link to post
Share on other sites

В общем решил, в класс корзины на обновление решил передавать уже ключ с\без опций, а на стадии контроллера произвёл все манипуляции, всё работает корректно, всем спасибо, вопрос решен самостоятельно.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.