Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/05/2014, 12:09
inmavf88
 
Fecha de Ingreso: mayo-2014
Mensajes: 5
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Sylius CartBundle Symfony2

Gracias por contestar!

Sí, eso es lo que no me cuadra... Pongo el código completo de mi ItemResolver por si se me pasa algo:


Código PHP:
Ver original
  1. <?php
  2.  
  3. namespace etdc\ProductoBundle\Cart;
  4.  
  5. use Sylius\Bundle\CartBundle\Model\CartItemInterface;
  6. use Sylius\Bundle\CartBundle\Resolver\ItemResolverInterface;
  7. use Sylius\Bundle\CartBundle\Resolver\ItemResolvingException;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Doctrine\ORM\EntityManager;
  10.  
  11.  
  12. class ItemResolver implements ItemResolverInterface
  13. {
  14.     private $entityManager;
  15.  
  16.     public function __construct(EntityManager $entityManager)
  17.     {
  18.         $this->entityManager = $entityManager;
  19.     }
  20.  
  21.     public function resolve(CartItemInterface $item, Request $data)
  22.     {
  23.         $productId = $data->query->get('productId');
  24.  
  25.         // If no product id given, or product not found, we throw exception with nice message.
  26.         if (!$productId || !$product = $this->getProductRepository()->find($productId)) {
  27.             throw new ItemResolvingException('Requested product was not found');
  28.         }
  29.  
  30.         // Assign the product to the item and define the unit price.
  31.         $item->setProduct($product);
  32.         $item->setUnitPrice($product->getPrice());
  33.  
  34.         // Everything went fine, return the item.
  35.         return $item;
  36.     }
  37.  
  38.     private function getProductRepository()
  39.     {
  40.         return $this->entityManager->getRepository('ProductoBundle:Producto');
  41.     }
  42. }