3 pièce(s) jointe(s)
Incrémentation count transchoice
Bonjour,
Quand j'augmente la quantité d'un produit de mon panier, j'aimerai afficher "Votre panier 2 articles" (article au pluriel donc). Quand j'ai que un article, cela s'affiche bien au singulier mais quand j'incrémente le produit, il faut que je clique en dehors du panier, que je re clique sur mon panier pour voir "articles" au pluriel :
Pièce jointe 317408
Pièce jointe 317413
Pièce jointe 317418
Mon fichier twig :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| {% if resources.overlay %}
<div class="basket__head">
{% transchoice count %}
{0} Votre panier
<span class="basket__head__quantity">
aucun article
</span>
|{1} Votre panier
<span class="basket__head__quantity">
<span class="basket__length">
%count%
</span> article
</span>
|]1,Inf[ Votre panier
<span class="basket__head__quantity">
<span class="basket__length">
%count%
</span> articles
</span>
{% endtranschoice %}
</div>
{% endif %}
<div class="basket__content"> |
L'action d'incrémentation de mon controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| /**
* @param Request $request
* @param $productId
* @return Response
*
* @Route(
* "/add/{productId}",
* name = "ajax_add_product_to_basket",
* methods = { "POST" },
* options = { "expose" = true },
* condition = "request.isXmlHttpRequest()"
* )
*/
public function addAction(Request $request, $productId)
{
if ($productId != "") {
$product = $this->get('api.product')->getOne($productId);
$quantity = (int)$request->get('quantity');
$this->get('api.basket')->addItem($product, $quantity);
$basket = $this->get('api.basket')->get();
return Response::create($this->get('jms_serializer')->serialize($basket, 'json'));
} else {
return Response::create(['error' => true, 'message' => $this->get('translator')->trans('cart.item_added_error')]);
}
} |