2015-05-10 39 views
0

面對這樣的問題:當我點擊購物籃中的添加時,我重定向到basket_action,但我添加的產品未顯示。這是我的行動symfony2中會話的問題

/** 
* @Route("/basket", name="basket_action") 
* @param Request $request 
* @return mixed 
*/ 
public function basketAction(Request $request) 
{ 
    $session = $request->getSession(); 
    if(!$session->has('basket_action')) 
    { 
     $session->set('basket_action', array()); 
    } 

    $em = $this->getDoctrine()->getEntityManager(); 
    $products = $em->getRepository('ModelBundle:Products') 
     ->findArray(array_keys($session->get('basket_action'))); 

    return $this->render("CoreBundle:Basket:basket.html.twig", 
     array(
      'products' => $products, 
      'basket' => $session->get('basket') 
     )); 
} 

我在做什麼錯。請幫忙。

+0

您在重定向之前是否將您的會話保存在之前的操作中? – Anuj

+0

究竟在哪裏?我有點不明白您的意思... –

+0

但是您在哪裏設置basket_action旁邊if(!$ session-> has('basket_action'))? –

回答

1

這是哈特給你的任何例子,因爲它看起來像你錯過了一些代碼或邏輯。從我可以看到

$session = $request->getSession(); 
if(!$session->has('basket_action')) 
{ 
    $session->set('basket_action', array()); 
} 

你只是試圖analize,存儲到會話中,如果沒有則用一個空數組分配給它「basket_action」。但是你認爲用實際數據來設置「basket_action」嗎?

,所以如果你有在一些其他的動作,請顯示這個代碼也是如此,如果沒有,那麼你應該與「basket_action」

更新填充數據添加二傳手到會話:

好,我看到您似乎錯過了代碼

的邏輯您仍然很難猜到您需要什麼,但是如果希望通過單擊「添加」添加每個新產品並從會話中提取所有舊的添加產品,那麼它會看起來像一些東西:

/** 
* @Route("/basket", name="basket_action") 
* @param Request $request 
* @return mixed 
*/ 
public function basketAction(Request $request) 
{ 
    $session = $request->getSession(); 
    $cartIds = $session->get('basket_action', array()); 
    $cartIds[] = $request->query->get('id'); 
    $session->set('basket_action', $cartIds); 

    $em = $this->getDoctrine()->getEntityManager(); 
    $products = $em->getRepository('ModelBundle:Products') 
     ->findArray($cartIds); 

    return $this->render("CoreBundle:Basket:basket.html.twig", 
     array(
      'products' => $products, 
     )); 
} 

P.S.抱歉,我不知道你是從$ session-> get('basket')「得到的,因爲我沒有看到你在那裏存儲了什麼,所以我剛剛刪除了''basket'=> $ session- >從模板參數中獲取('basket')「

+0

這是我的模板http://i.piccy.info/i9/ 7f004e3a4baae9f6b384c66f197a2e5a/1431290682/27468/907262/Screenshot_2.jpg –

+0

儲存庫http://i.piccy.info/i9/886e3a6d4438243cbbdf130047d04e9b/1431290724/16927/907262/Screenshot_1.jpg –

+0

basket.html.twig http://i.piccy.info/i9/c94fad568ab4131f25c86988319cd815/1431290837/13834/907262/Screenshot_3.jpg –