Я тестирую свое приложение на работающем сервере и получаю ошибку: после завершения моих действий в контроллере он не перенаправляет меня на другой маршрут.Эта ошибка может быть из SSL (cloudflare) или Nginx, потому что на dev / local server работает нормально
Мой код:
-> Действие:
public function addAction(Request $request)
{
$cookies = $request->cookies;
$cart = $cookies->get('SHOP_CART');
$post_id = $request->request->get('id');
$r = $this->getDoctrine()->getRepository('AppBundle:Product');
$product = $r->find($post_id);
if ($cart == null) {
$cart = [
'items' => [$product->getId()],
'price' => $product->getPriceUah(),
'count_items' => 1,
];
} else {
$cart = unserialize($cart);
if (in_array($product->getId(), $cart['items']) === false) {
array_push($cart['items'], $product->getId());
$cart = [
'items' => $cart['items'],
'price' => $cart['price'] + $product->getPriceUah(),
'count_items' => $cart['count_items'] + 1,
];
}
}
$cart = new Cookie(
'SHOP_CART', // Имя.
serialize($cart), // Значение.
time() + (31 * 24 * 60 * 60) // Время жизни куки 1 месяц.
);
$res = new Response();
$res->headers->setCookie($cart);
$res->send();
return new RedirectResponse($this->generateUrl('client_index_product_page', ['id' => $product->getId()]));
}
-> Маршрутизация:
client_cart_add:
path: /cart/add
methods: [POST]
defaults: { _controller: AppBundle:Client/Component/CartActions:add, _locale: ru }
requirements:
_locale: ru|ua
options:
expose: true
Я сделал другой рабочий вариант, но на live / prod все еще не работает:
$request->getSession()
->getFlashBag()
->add('notice', 'success');
return $this->redirect($request->headers->get('referer'));