entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Agregar un atributo por codigo en magento

Saludos

Tengo una api que me devuelve un valor y ese valor lo necesito ponerlo en un atributo a un producto de magento, No se si eso toca hacerlo por código PHP o que ¿Alguien sabe como hacer esto? o ¿como seria una mejor forma de hacerlo?

Mucha Gracias por su colaboración.

2 Respuestas

-1voto

nmenag Puntos3630

0voto

Peter comentado

Deberías de exponer tu la solución que te ayudó y no poner un simple enlace. Publicarla como respuesta y marcarla como correcta.

Saludos.

0voto

nmenag comentado

simplemente fue esto :

  $name = 'CODE SKU';
$is_stock = 0;

include "../app/Mage.php";
umask(0);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product = Mage::getModel('catalog/product');

$productId = $product->getIdBySkU($name);
$product->load($productId);

if(!is_null($product->getId())){
  try {
    $product->setStockData(array(
        'is_in_stock' => $is_stock,
      )
    );
    $product->save();
  } catch(Exception $e){
    Mage::log($e->getMessage());
  }
}

0voto

Peter comentado

mucho mejor :)

1voto

Portal-P Puntos1160

Buenas.

No entiendo del todo el workflow de lo que deseas pero por lo que entiendo necesitas que magento modifique un atributo de un producto.

La manera mas "facil" (magento no facil) es extender el funcionamiento de la API/REST de magento, aqui tienes un tutorial de como externerla.

Lo que deberias hacer es basandote en ese tutorial, obviar toda la parte principal y pasar a la creacion del codigo de un plugin en php para magento y en lugar de crear un modelo de "Coupon" lo hacer de "Catalog".

Los metodos son:

  • _create : POST
  • _retrieveCollection : GET

En ellos pones el codigo que se ejecutara cuando lo llames via API/REST con GET o POST resopectivamente.
Tendras de extender de la clase Mage_Catalog_Model_Product la documentacion la tienes aqui, segun lo que quieras modificar del producto tendras de llamar a unos metodos o a otros.

Por ultimo como no tengo claro quien llama a quien te dare varias opciones a elegir:

  • Tu llamas a magento y dentro del codigo del plugin el llama a la otra api.
  • Lo mismo pero al reves.
  • Tu llamas a las dos por separado a mano (o un job)

Todo depende de lo que quieras hacer. Al plugin de magento le puedes pasar parametros tanto en url como con metodo POST si usas ese metodo.

Espero que te sea de ayuda o almenos de guia para poder orientar tu problema.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta