Importar artículos

entolium

Nuevo usuario
Hola a todos,

Tengo mi catálogo en una BD en mi PC. Desde mi PC gestiono este catálogo, importando listas de proveedores, etc...

En osCommerce, mediante una contribución, subía los artículos en formato csv previamente generado por mi.

Estoy tratando de hacer lo mismo con Magento, pero me estoy encontrando con problemas:

- He de indicar en el csv la id de la categoría a la que pertenece el artículo, por lo que he de editarlo y ponerlas a mano, ya que en mi BD local tiene una id, y en la tienda otra. En osCommerce pongo el nombre de la categoría y si no existe en la tienda, la crea (muy útil)

- Por lo que he investigado, Magento crea un estructura de las imágenes de los productos que no me he podido saltar: Si la imágen se llama I7000.jpg, crea una subcarpeta "I", y dentro de ella "7", y en esta última mete la imagen.
Aunque cambie la ruta de la imágen en el CSV, Magento no la encuentra.

¿Existe solución para esto?
 

Damian Culotta

Nuevo usuario
@entolium

Para la simagenes, si bien nmo recuerdo 100% la sintaxis, indicabas, como valor, "/17000.jpg" y las dejas en la carpeta import de la carpeta media.

Sobre lo que decís de las categorías, ahora debería probarlo (hace rato que no uso el dataflow y trabajo por fuera contra la API o la DB directamente), pero en el caso de los atributos y valores de los atributos, el DataFLow soporta pasar el string e internamente graba el Id.

¿No has mirado en el foro (oficial) sobre este tema? (hay uno específico de DataFlow).
 

Antonio

Nuevo usuario
Entolium: te dí la respuesta en este post

Las imagenes las tienes que introducir previamente como ya te comentaba en ese post en /media/import, y despues crear un fichero (mi consejo era xml mejor que csv) con la estructura indicada (en el post que te adjunto).

Supongo que no has hecho lo indicado por lo que estoyviendo y si es así indicame el error que te da para poder ayudarte mejor.:paz:

Salu2
 
Última edición por un moderador:

entolium

Nuevo usuario
Hola Damian,

Perdona mi torpeza.

Si no te entiendo mal, si en el CSV que importo pongo /I7000.jpg, y subo la imágen a media/import/, la imágen se cargará sin problemas.

En cuanto a lo del DataFlow...es que no sé lo que es eso.

Creo que quieres decir que si pongo en la id de la categoría la ruta completa (con nombres, no con id's), la importación debería funcionar
 

Antonio

Nuevo usuario
Siguiendo con el tema imagenes te detallo una imagen en excel xml para que veas la estructura a subir al admin de magento. Antes o despues de eso tienes que subir las imagenes por ftp al servidor a la carpeta media/import:
fichero xml tienda.JPG


Salu2
 

Antonio

Nuevo usuario
Hola Damian,

Perdona mi torpeza.

Si no te entiendo mal, si en el CSV que importo pongo /I7000.jpg, y subo la imágen a media/import/, la imágen se cargará sin problemas.

En cuanto a lo del DataFlow...es que no sé lo que es eso.

Creo que quieres decir que si pongo en la id de la categoría la ruta completa (con nombres, no con id's), la importación debería funcionar
Mi ejemplo es en xml.... es la mejor manera de manejar datos para mi.
 

entolium

Nuevo usuario
Antonio,

Mil disculpas, no había leído tu respuesta en el otro post.
Creo que me confundí de botón al enviar el tema y no me suscribí, por lo que pensaba que no había respuestas. Me habría ahorrado tiempo.

Por cierto, ¿esto está en el manual de Magento?, porque me lo he estado leyendo y no he encontrado nada al respecto...

Lo de las imágenes en /media/import/ funcionan perfectamente, así que un problema menos:jeje:

Acabo de solucionar lo de las categorías (se me podía haber ocurrido antes).
Tan simple como no poner ese campo en el csv para que no machaque la categoría.
Es decir, cuando suba todos mis artículos, o suba artículos nuevos, me va a tocar meterlos uno a uno en sus categorías :triste:
 

Antonio

Nuevo usuario
Sigo respondiendo:

la id de las categorias la encuentras sin problemas en catalogo-->gestionar la reescritura de URL:

gestion reescritura.JPG

o tambien en catalogo-->gestionar categorias:

id categoria.JPG


Una vez visto esto te detallo un ejemplo:

Si tienes una categoria llamada "zapatos" y vas a catalogo-->gestionar categorias, podrás comprobar como te he indicado en la segunda imagen la id de "zapatos" que seria (por ejemplo) 123
Si ademas dentro de la categoria zapatos tienes una subcategoria llamada "zapatos de charol", pues igualmente te vas a catalogo-->gestionar categorias y despliegas la categoria zapatos para que te enseñe las subcategorias que tiene, señalando en este caso zapatos de charol y viendo de nuevo la id que tiene que podría ser 127.
Entonces en el campo correspondiente del producto llamado "id_categoria" tendrías que poner: 123,127 (id de la categoria, id de la subcategoria) para que ese producto te lo trate bien y vaya a su sitio

Espero haber ayudadoun poquito mas al asunto

salu2
 

entolium

Nuevo usuario
Me has (habéis) ayudado más de lo que imaginas.

Entiendo lo de las categorías, y cómo indicarlo en el csv. El problema está en el volumen de artículos.
Teno en mi BD unos 900, y planeo ampliarlo a cerca de 3000.

En la primera importación, tengo que crear las categorías en Magento e ir apuntando las id's. Después generar el csv, editarlo, y ponerle a cada artículo su id...de locos....

Para actualizarlos (por ejemplo cambiar stock), con omitir el campo de la id de la categoría ya no lo machacaría (menos mal)

Si después añado artículos, aunque ya sean pocos, tendría que repetir la misma operación. Sacar la lista de id's de categorías y ponerlas a mano antes de importar.

Con EasyPopulate+osCommerce, pongo la estructura de la categoria como texto, y el script se encarga de crearla si no existe, y ponerle la id al producto. De esa manera es automático. No me explico como Magento no tiene lo mismo.
 

Antonio

Nuevo usuario
Bueno, en mi caso que tambien tengo mas de 3000 articulos, como lo hago con el excel, y como tengo muchos artículos de una misma categoria, cuando meto una id a un producto de una categoria lo que hago es copiar y pegar hasta los otros 100 de esa misma categoria, de esa forma va rapido y sin problemas, igual que con oscommerce, tu metes el nombre de la categoria en un producto y luego copias y pegas para el resto de esa misma categoria (en el EasyPopulate).
Que tengo que subir dentro de un mes 200 productos de diferentes categorias, pues nada, me abro un fichero antiguo y copio y pego las id.
 

entolium

Nuevo usuario
Bueno, como yo genero el csv desde mi aplicación, se me ocurre crear una tabla de correlación entre id's magento vs id's de mi BD y utilizarla cuando genere el csv.

Desde luego la mejor opción sería atacar directamente la BD de Magento, como acabé haciendo con osc, pero cuando ví la estructura y las relaciones me dió un mareo. Quizás más adelante me atreva.....
 

entolium

Nuevo usuario
Aquí estoy otra vez :jeje:

Estoy importando el csv con 926 registros, y a pesar de cambiar los valores en la configuración del perfil, la importación se corta en el artículo 172.

En la página de importación, me aparece una linea en rojo con su icono de error, pero sin mensaje de texto.
He comprobado el artículo siguiente al último importado y todo está correcto.

Alguna pista?
 

OSdave

Super Moderador
Miembro del equipo
quizas es algo de memoria, no sé. ¿has probado seguir con la importación a partir del articulo siguiente?
 

entolium

Nuevo usuario
Pues al final he ido subiendo archivos con unos 150 artículos cada vez y ha ido bien, por lo que supongo que es un problema de memoria.

¿Cómo se lo explico a mi host?


Ahora ha surgido otro problema. Veo los artículos en el frontend, pero cuando voy a al admin, en gestionar productos sólo me aparecen 2 :niidea:
Ha ocurrido al importar el último archivo. Menos estos 2 han desaparecido todos.
 

entolium

Nuevo usuario
Me he puesto en contacto con mi host, y me dicen que no puede ser un problema de memoria, ya que en ese caso, se generaría un mensaje de error (a mi no me aparece ninguno)

Estoy en un callejón sin salida. Ayuda, por favor.
 

Xarlie

Super Moderador
Miembro del equipo
Podría ser un error por tiempo de ejecución?
Seguramente el script tenga la opción de time limit a 0, pero podría ser un punto donde empezar a mirar la configuración de tu servidor (hay servidores que en la configuración no permiten en override esta opción).
 

entolium

Nuevo usuario
Esto me dicen en mi host:

Le informamos que no podemos darle soporte para localizar el error en Magento, ya que es una aplicación de terceros.
Si localiza el error exacto, podríamos indicarle posibles soluciones, pero no podemos localizar el error directamente.

El valor del tiempo de ejecución es global a todo el servidor donde se encuentra su cuenta, y no es posible realizar la modificación, ya que afectaría a todos los usuarios que se encuentran ahí.


Vaya, que estoy jod....
No veáis la put... que es tener que partir los archivos a 150 registros cada vez que los subo :enfadado:.
 

Xarlie

Super Moderador
Miembro del equipo
Lo que tienes que preguntar es si la opción de PHP: set_time_limit se puede sobreescribir o no.
Además si no es Apache y funciona bajo IIS creo que da problemas y prevalece siempre la opción de IIS.

Suerte
 

entolium

Nuevo usuario
El servidor es Apache, porque lo veo en mi panel de control del host

No sé si te estoy entendiendo. ¿Quieres decir que al ejecutar el script yo añada en ese script el cambio en la configuración php?
Lo digo porque lo pruebo (ni idea de cómo), y si no funciona pues nada.
 
Arriba