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

Buenas, escribo por si alguien me puede echar una mano. Estoy realizando una aplicación web con symfony2 y me gustaría añadir un módulo para el carrito de la compra. Tras investigar por la web me decidí por sylius CartBundle, que además vi que lo recomendaban algunos usuarios de este foro. Tras la instalación mi pregunta es lo siguiente, ¿Cómo se usa? Es decir, he estado mirando la documentación oficial del bundle y viene explicado la instalación y tal pero a la hora de intentar usarlo me da un error y no sé si es que no lo estoy utilizando correctamente. Disculpad mi torpeza. Según la documentación si utilizar el enlace

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

indicándole el id del producto lo añadirá al carrito. Sin embargo cuando yo lo hago me aparece el siguiente error:

FatalErrorException: Compile Error: Declaration of etdc\ProductoBundle\Cart\ItemResolver::resolve() must be compatible with Sylius\Bundle\CartBundle\Resolver\ItemResolverInte rface::resolve(Sylius\Bundle\CartBundle\Model\Cart ItemInterface $item, $data) in C:\xampp\htdocs\etdc\src\etdc\ProductoBundle\Cart\ ItemResolver.php line 13

Mi funcion resolve() tal y como ponía la configuración del bundle es la siguiente:

public function resolve(CartItemInterface $item, Request $request)
{
$productId = $request->query->get('productId');

// If no product id given, or product not found, we throw exception with nice message.
if (!$productId || !$product = $this->getProductRepository()->find($productId)) {
throw new ItemResolvingException('Requested product was not found');
}

// Assign the product to the item and define the unit price.
$item->setProduct($product);
$item->setUnitPrice($product->getPrice());

// Everything went fine, return the item.
return $item;
}



Espero que me puedan ayudar porque estoy desesperada y no sé que hacer.

Un saludo y gracias de antemano.