Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Implementacion de sylius/cart-bundle

Estas en el tema de Implementacion de sylius/cart-bundle en el foro de Symfony en Foros del Web. Hola, Estoy implementando el Bundle sylius/cart-bundle segun el manual http://gitnacho.github.io/Sylius-doc...tallation.html Y bueno... tengo 2 dudas al respecto, si es que me pueden ayudar. Cuando llego ...
  #1 (permalink)  
Antiguo 01/09/2013, 14:01
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 4 meses
Puntos: 23
Implementacion de sylius/cart-bundle

Hola,

Estoy implementando el Bundle sylius/cart-bundle segun el manual

http://gitnacho.github.io/Sylius-doc...tallation.html

Y bueno... tengo 2 dudas al respecto, si es que me pueden ayudar.

Cuando llego a crear el Servicio, como esta en XML, y yo ocupo YML, lo creo asi, si es que me pueden corroborar que esta ok esto
Código:
    an_web.cart_item_resolver:
        class: AN\WebBundle\Service\Cart\ItemResolver
        arguments: [@doctrine]
Mi duda es en Argumento ya que en XML lo crean asi

Código:
<argument type="service" id="doctrine.orm.entity_manager" />
Si es que esta ok como lo tengo. Como nota, meti todo en una Carpeta llamada "Service" ya que hay pongo todos los archivos que son utilizados como Servicios

Bueno, mi Proyecto a grandes rasgos tiene obviamente una entidad llamada Articulo, este Articulo tiene otra entidad asociada llamada Imagenes. Aparte de esto tengo una Entidad llamada Admin que finalmente es anexa a lo demas ya que es para Administrar las personas que gestionaran los Articulos y no van asociados a esto. Al cargar la pagina antes de ejecutar la actualizacion de la BD (para verificar si hay errores) me indica lo siguiente

Código:
MappingException: No mapping file found named 'C:\wamp\www\symfony\src\AN\WebBundle\Resources\config\doctrine/Admin.orm.xml'
for class 'AN\WebBundle\Entity\Admin'.
Y aqui quede plop, ya que segun el manual solo se debia crear un archivo XML para "CartItem.orm.xml", mi duda al respecto si se logro entender este ultimo problema es, se deberia crear un XML para todas las entidades existentes?? porque no entiendo muy bien si Admin no interactua directamente con Articulo porque deberia tener tambien un archivo ORM.XML, no se si me logro explicar bien

Agradezco su tiempo y ayuda.

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 :)
  #2 (permalink)  
Antiguo 02/09/2013, 18:07
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Implementacion de sylius/cart-bundle

mmm, no porque si Doctrine piensa que es una entidad, pregunto, estas intentando persistir la clase Admin ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 04/09/2013, 21:07
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 4 meses
Puntos: 23
Respuesta: Implementacion de sylius/cart-bundle

Hola @masterpuppet,

No me habia dado cuenta que me respondiste, sobre tu consulta no, ya esta todo creado en la Base de Datos, de hecho esta funcionando. Lo que me faltaba ahora era implementar el carro de compra y segui los pasos del manual y bueno, casi el ultimo paso me pedia actualizar la base de datos para que creara las tablas del carro de compra (que es logico) y al ejecutar esto me muestra el error señalado, eso es lo que no entiendo, solo me indicaba que debia crear "CartItem.orm.xml." y crear la relacion con mi entidad Articulos, pero en ningun momento modifique o toque la entidad Admin, asumo, que al crear el archivo "CartItem.orm.xml", me pide que las demas entidades tengan un archivo similar. Porque entre la entidad Articulo y la entidad Admin no existe ninguna relacion, ufff... no se si me logro explicar, que estoy ya mareado con esto

Gracias por tu ayuda

EDITO:

Dandole una vuelta... no tengo nada en formato XML, de hecho, lo unico que inclui fue el archivo doctrine en formato XML que me indico la guia, parece que esto esta causando conflicto con lo que ya existia y por eso me pide que esten las otras entidades en XML, podria ser esto?
__________________
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; 05/09/2013 a las 22:45
  #4 (permalink)  
Antiguo 05/09/2013, 22:45
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 4 meses
Puntos: 23
Respuesta: Implementacion de sylius/cart-bundle

Dandole una vuelta... no tengo nada en formato XML, de hecho, lo unico que inclui fue el archivo doctrine en formato XML que me indico la guia, parece que esto esta causando conflicto con lo que ya existia y por eso me pide que esten las otras entidades en XML, podria ser esto?
__________________
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 :)
  #5 (permalink)  
Antiguo 07/09/2013, 15:59
Avatar de 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

Etiquetas: implementacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:45.