我有一個視圖編輯器,我正在使用它來計算所有在購物籃(這是我包含很多的部分)中創建的應用程序的變量。它本質上是一個更復雜的版本是:Laravel將Ajax與View Composer結合使用
public function compose($view)
{
$giftbox_total_pre = Giftbox::getTotal();
$giftbox_items_total = number_format($giftbox_total_pre, 2);
$view->with(compact(
'giftbox_items_total',
));
}
在我的路線
然後我有:
View::composer(['layouts.bag', 'shop.basket', 'giftbox.basket'], 'Acme\Composers\BasketComposer');
但是,我只是將Ajax添加到我的應用程序,這將是一件好事,如果在請求之後,我可以從View Composer中獲取變量。有沒有辦法做到這一點?或者在這種情況下作曲家是錯誤的東西?
例如,要添加一個項目沒有Ajax,我有如下所示路線的控制器功能:
Route::post('/cart/add/{type?}/{quantity?}', '[email protected]');
和控制器:
public function addToCart($type='subscription', $quantity=1)
{
$product = Product::find(Input::get('id'));
$price = $product->box_price;
Cart::insert([
'id' => $type . $product->id,
'table_id' => $product->id,
'name' => $product->name,
'price' => $price,
'quantity' => $quantity,
'cart_type' => $type,
]);
return Redirect::back()->with('success', 'Added to cart!');
}
首先,適當的,Laravel項目,所以我可能讓自己陷入一片混亂!我可以將Ajax提交到路線並且工作正常,但我無法弄清楚如何取回購物車的體面JSON數組。
所以反應應該是全車加上'giftbox_items_total'喜歡你擁有了它在視圖作曲家作爲JSON? – lukasgeiter
是的,但是如何訪問視圖編輯器中創建的變量? – Djave