Magento CSV Producto Importar Set Categoría principal Categoría URL Clave de URL para usar en la página de la categoría Lista de catálogo

magento.stackexchange https://magento.stackexchange.com//questions/29927

Pregunta

- actualización -

Creo que el problema está en la opinión de la lista de categorías. Genera el enlace del producto al producto, para la página, en un bucle.

Tengo que obtener las categorías de productos y usarlo para construir la URL.

Estoy pensando que tendré que definir cuál quiero ser el padre en un atributo adicional, y luego verificar ese atributo para la clave de la Categoría que quiero usar.

¿Alguna sugerencia sobre la mejor manera de lograr esto?

- actualización -

Me he dado cuenta de que el problema parece ser debido a la forma en que Magento crea que su tecla de URL para un producto se basa en el ID de categoría más alto de las categorías que pertenece.

La ID de categoría más grande define la tecla de URL.

así que si tengo producto1 en Categoría 1, Categoría2, y Categoría3; Quiero la clave de la URL de la categoría1 (es decir, sitio.com/category1/product1), pero si la categoría3 tiene una identificación más grande que la categoría1, la clave de la URL será el sitio.com/category3/product1, incluso cuando navega al sitio.com/ Categoría1 El enlace es para el sitio.com/category3/product1.

Podría eliminarlo de categorías adicionales que tienen una identificación más alta, pero eso no es una solución ideal.

¿Hay alguna manera de establecer la clave de URL completa? ¿O hay algún lugar donde pueda forzar la preferencia de la clave de la URL de una categoría?

- original -

Estoy intentando importar productos y categorías a través de CSV.

Tengo este proceso trabajando, y todo importa sin lanzar un error.

Tengo mis productos pertenecientes a cualquier lugar de 1 a 3 categorías.

En la importación, la clave de la URL para la mayoría de los productos es correcta, parece ser algunas aleatorias que no obtienen la clave de URL del primer padre (categoría).

Parecía que inicialmente todos estaban usando el último, así que cambié el pedido para ser invertido.

Esto se solucionó a todos, pero los que se configuran prácticamente iguales, y deben tener la misma clave de URL de padres, están utilizando aleatoriamente una de las otras categorías como una clave de URL.

Intenté eliminar todo (productos y categorías), borró mi almacenamiento en caché. Revisó que se eliminaron las reescrituras de URL e intentaron importar nuevamente.

obtengo el mismo resultado.

El no parece ser un vídeo a la visibilidad, ya que uno es incorrecto se establece en 4, y otro es 1 (lo que espero 1 sería erróneo si cualquiera de los dos)

Tengo la mayoría de las categorías inactivas, quiero desplegar categorías adicionales después del lanzamiento.

Pensaría que se necesitaría preferencia a las categorías visibles, pero el que quiero mostrar en es visible, y se coloca en una persona inactiva.

No estoy seguro de qué más puede causar esto. O donde más buscar el problema. No veo nada que indique por qué esos productos específicos son diferentes. Pero cada vez que importa, los mismos caen en la categoría incorrecta.

Cualquier ayuda sería muy apreciada. Si alguien, al menos podría señalarme en la dirección correcta.

Puedo dar ejemplos más específicos si es necesario, no quería confundir las cosas más de lo que ya es.

¿Fue útil?

Solución

En un esfuerzo para no tener URL duplicadas, pero vincule categorías adicionales al producto en otra categoría, con una URL, terminé resolviendo este problema de la siguiente manera.

He creado un atributo de producto adicional, Parent_URL_KEY.

En mi script de importación, agregué la clave URL de padres preferida para cada producto en este valor.

En la categoría Vista de la lista de productos, en lugar de usar solo:

$_product->getProductUrl()

Hice esto para crear mi URL de producto:

$url = $_product->getProductUrl();
if($categoryParent = $_product->getResource()->getAttribute('parent_url_key')) {
    $categoryParentVal = $categoryParent->getFrontend()->getValue($_product);
    if($categoryParentVal) {
        $url = $this->getUrl($categoryParentVal).basename($url);
    }
}

De esta manera, comprueba un padre definido, o utiliza la categoría actual si no está definido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top