@V1adt3r
coder

Как рендрить фрагмент?

Вообщем суть в следующем, есть корзина, есть кнопка добавить в корзину. На кнопке весит data-request="onAddToCart"
Ниже сам onAddToCart

public function onAddToCart(){
      $product = \vladimir\catalog\Models\Product::find( Input::get('id') );

      if (Input::get('qty') !== null){
        $qty = Input::get('qty');
      }

      $item = new \stdClass();
      $item->id = $product->id;
      $item->name = $product->name;
      $item->price = $product->price;
      $item->img = $product->images[0]->path;
      $item->qty = count($this->getItems());

      Session::push('cart', $item);

      return [
        '@.cart-items' => $this->renderPartial('@cart-item.htm', ['item' => $item]),
        '.total-price' => $this->renderPartial('@cart-price.htm', ['item' => $this->Total()]),
        '.qty-cart'    => $this->renderPartial('@qty-cart.htm', ['qty' => count($this->getItems())])
      ];
    }


все прекрасно работает, когда кликаю по кнопке в сессию добавляется объект продукта, и все обновляется и рендрится.
Но мне нужно чтобы я мог удалять один элемент из корзины по клику на кнопке Удалить

Есть кнопка Удалить, на ней data-request="onClearOneItemCart"
Ниже сам onClearOneItemCart
public function onClearOneItemCart(){
       foreach ($this->getItems() as $key => $value) {
         if($value->id == Input::get('id')){
           Session::pull('cart.'.$key);
         }
       }
       return [
          '@.cart-items' => $this->renderPartial('@cart-item.htm')
       ];
     }


тут я пробегаюсь в цикле по сессии и ищу нужный удаляемый объект по его id
Все тоже работает, но удаляется только после перезагрузки, а мне нужно чтобы он сразу удалил и отрендрил.
Подскажите пожалуйста как реализовать?
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы