Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/09/2013, 15:59
Avatar de fhederico
fhederico
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 4 meses
Puntos: 23
Respuesta: Implementacion de sylius/cart-bundle

Bueno, era como pensaba, al no tener nada en formato XML y agregar el doctrine en XML solicitado, este exigia que las demas entidades estuvieran en este formato.

En conclusion quedo asi

El servicio

Código:
services:
    an.cart_item_resolver:
        class: AN\WebBundle\Service\Cart\ItemResolver
        arguments: ['@doctrine.orm.entity_manager']
Y la Entidad con la relacion que era requerida en XML, la pase a YML

Código:
<?php

namespace AN\WebBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Sylius\Bundle\CartBundle\Entity\CartItem as BaseCartItem;
use Sylius\Bundle\CartBundle\Model\CartItemInterface;

/**
 * CartItem
 *
 * @ORM\Table(name="CartItem")
 * @ORM\Entity()
 */
class CartItem extends BaseCartItem
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     *
     * @ORM\ManyToOne(targetEntity="Articulo")
     * @ORM\JoinTable(name="articulo",
     *     joinColumns={@ORM\JoinColumn(name="articulo", referencedColumnName="id")},
     *     inverseJoinColumns={@ORM\JoinColumn(name="cartitem", referencedColumnName="id")}
     * )
     */
    protected $articulo;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set articulo
     *
     * @param \AN\WebBundle\Entity\Articulo $articulo
     * @return CartItem
     */
    public function setArticulo(\AN\WebBundle\Entity\Articulo $articulo = null)
    {
        $this->articulo = $articulo;
    
        return $this;
    }

    /**
     * Get articulo
     *
     * @return \AN\WebBundle\Entity\Articulo 
     */
    public function getArticulo()
    {
        return $this->articulo;
    }
}
Obviamente yo ocupe "Articulo" en vez de "Producto, segun el ejemplo.

EDITO:

Al archivo que contiene el Servicio (ItemResolver.php), se le debe agregar la libreria de doctrine o desplegara un error del argumento que se le esta pasando

Código:
use Doctrine\ORM\EntityManager;
Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)

Última edición por fhederico; 07/09/2013 a las 16:16