如何在Symfony2中使用SyliusCartBundle将项目添加到购物车时禁用重定向?

时间:2013-05-30 20:39:31

标签: symfony

我已经实现了SyliusCartBundle的基础(http://docs.sylius.org/en/latest/bundles/SyliusCartBundle/installation.html

但问题是将项目添加到购物车的方法,因为我知道的唯一方法是使用

<a href="{{ path('sylius_cart_item_add', {'productId': product.id}) }}">Add product to cart</a>

根据http://docs.sylius.org/en/latest/bundles/SyliusCartBundle/actions.html

我想在不重定向网页的情况下添加项目。

抱歉,如果太基本但我只在4天前开始使用symfony。

2 个答案:

答案 0 :(得分:1)

就像@zizoujal说的那样是ajax。但是,当我问我是MVC的初学者时,我并不认可这种方法。

解决方案是:

  1. 创建一个获取购物车信息并仅保存的操作,返回json respoonse,如{result:success}。
  2. 在视图调用中使用ajax此操作,如果返回结果==成功执行您想要的操作。
  3. 最后我不使用Symfony2(SyliusCartBundle),但是在MCV中有一些经验我可以理解并且我实施自己的行动(在cakephp中)。

答案 1 :(得分:0)

不是最好的方法,但它可以帮助你:

  • 编写您自己的控制器,使用yourbundle_cart_item_add并添加相应的路线。
  • 模仿Sylius/Bundle/CartBundle/Controller/CartItemController:addAction
  • 中的内容
  • 最后,而不是redirectToCarSummary()重定向到你想要的。