api magento attributes skus

api - Atributos de actualización masiva de Magento



attributes skus (2)

Si bien esto puede funcionar técnicamente, el código que ha escrito es casi la última forma en que debe hacer esto.

En Magento, realmente debería utilizar los modelos proporcionados por el código y no escribir las consultas de la base de datos por su cuenta.

En su caso, si necesita actualizar atributos para 1 o muchos productos, hay una manera de hacerlo rápidamente (y con bastante seguridad).

Si mira en: /app/code/core/Mage/Adminhtml/controllers/Catalog/Product/Action/AttributeController.php, encontrará que este controlador está dedicado a actualizar varios productos rápidamente.

Si busca en la función saveAction (), encontrará la siguiente línea de código:

Mage::getSingleton(''catalog/product_action'') ->updateAttributes($this->_getHelper()->getProductIds(), $attributesData, $storeId);

Este código es responsable de actualizar todos los ID de productos que desee, solo los atributos modificados para cualquier tienda individual a la vez.

El primer parámetro es básicamente una matriz de ID de productos. Si solo desea actualizar un solo producto, simplemente colóquelo en una matriz.

El segundo parámetro es una matriz que contiene los atributos que desea actualizar para los productos dados. Por ejemplo, si desea actualizar el precio a $ 10 y el peso a 5, pasará la siguiente matriz:

array(''price'' => 10.00, ''weight'' => 5)

Entonces, finalmente, el tercer y último atributo es la ID de la tienda en la que desea que ocurran estas actualizaciones. Lo más probable es que este número sea 1 o 0.

Me gustaría jugar con esta llamada de función y utilizar esto en lugar de escribir y mantener sus propias consultas de base de datos.

Hola chicos, me falta el SQL de esto para los atributos de actualización masiva por SKU / UPC

Ejecutando EE1.10 FYI

Tengo todo el resto del código en funcionamiento, pero no estoy seguro de quién / qué / por qué estamos actualizando nuestros atributos, y no hemos podido encontrarlos, mi lógica es

  1. Abra un CSV y tome todos los skus y attrib asociados en una matriz 2d
  2. Analizar el SKU en un entity_id
  3. Tome el entity_id y el atributo y ejecute actualizaciones hasta que finalice
  4. Tómese el resto del día desde su viernes

Aquí está mi código (casi terminado), agradecería muchísimo la ayuda.

/** * FUNCTION: updateAttrib * * REQS: $db_magento * Session resource * * REQS: entity_id * Product entity value * * REQS: $attrib * Attribute to alter * */

Vea mi respuesta para el código de producción de trabajo. Espero que esto ayude a alguien en la comunidad de Magento.


La consulta de actualización general será como:

UPDATE catalog_product_entity_[backend_type] cpex SET cpex.value = ? WHERE cpex.attribute_id = ? AND cpex.entity_id = ?

Para encontrar el [backend_type] asociado con el atributo:

SELECT   backend_type FROM   eav_attribute WHERE entity_type_id =   (SELECT     entity_type_id   FROM     eav_entity_type   WHERE entity_type_code = ''catalog_product'') AND attribute_id = ?

Puede obtener más información del siguiente artículo de blog:
http://www.blog.magepsycho.com/magento-eav-structure-role-of-eav_attributes-backend_type-field/

Espero que esto te ayude.