• HomePagina Inicial
  • Blog Mis cosillas
  • Portfolio Mis trabajos
  • Acerca deeste blog y su autor
    • Sobre Mi 
    • Oridoki 
  • ContactarFormulario
  • Categorias

    • Blog
      • Control de Versiones
        • GIT
      • Diseño
      • Frameworks
        • CakePHP
        • CodeIgniter
      • JavaScript
        • EXT JS
        • JQuery
      • Magento
      • Maquetación
        • CSS
        • HTML
      • MiniCodes
      • MySQL
      • PHP
      • Proyectos
      • TextMate
      • Varios
      • Wordpress
    • Portfolio

Magento importar categorías

Posted by Adrià Cidre Categories: Magento

Cuando empezamos un proyecto con Magento, lo más tedioso quizá es introducir los datos en la aplicación. Para la importación de productos existen herramientas integradas en Magento que desarrollan esta función.

Sin embargo las categorías no, vamos a ver un pequeño script que nos importará las categorías en base a una cadena json o un array php.

En la raíz de la instalación magento creamos un fichero e introducimos el siguiente código.

// initialize magento environment for 'default' store
require_once 'app/Mage.php';
Mage::app('default');

// Get the data from a JSON font
$json = '[{"name":"T Shirts","subcats":[{"name":"Black"},{"name":"White"},{"name":"Orange"},{"name":"Yellow"}]},{"name":"Jeans","subcats":[{"name":"Shorts","subcats":[{"name":"Black"},{"name":"White"},{"name":"Orange"},{"name":"Yellow"}]},{"name":"Larges","subcats":[{"name":"Black"},{"name":"White"},{"name":"Orange"},{"name":"Yellow"}]}]}]';

// Translate it into an associative array
$cat = json_decode($json, true);

/*
     $cat = array(

        array(
            'name' => 'T Shirts',
            'subcats' => array(
                array('name' => 'Black'),
                array('name' => 'White'),
                array('name' => 'Orange'),
                array('name' => 'Yellow')
            )
        ),
        array(
            'name' => 'Jeans',
            'subcats' => array(
                array(
                    'name' => 'Shorts',
                    'subcats' => array(
                        array('name' => 'Black'),
                        array('name' => 'White'),
                        array('name' => 'Orange'),
                        array('name' => 'Yellow')
                    )
                ),
                array(
                    'name' => 'Larges',
                    'subcats' => array(
                        array('name' => 'Black'),
                        array('name' => 'White'),
                        array('name' => 'Orange'),
                        array('name' => 'Yellow')
                    )
                )
            )
        )
    );
*/

// Foreach first level category begin the recursive process
for($i=0; $isetStoreId(0); //default/all

    if($cat['path']) {
        $parent = $cat['path'];
    } else {
        $parent = '1/2';
        $cat['parent_id'] = 0;
    }

    $category->addData(array(
        'name'              =>  $cat['name'],
        'path'              => $parent,
        'description'       => '',
        'meta_title'        => '',
        'meta_description'  => '',
        'landing_page'      => '',
        'display_mode'      => 'PRODUCTS',
        'is_active'         => 1,
        'is_anchor'         => 0,
        'url_key'           => ''
    ));

    try {

      // Saving the data
      $category->save();

      // Getting the inserted ID
      $catID = $category->getId();

      // Foreach subcategory insert into db
      for($i=0; $igetMessage();

    }

}

Ahora simplemente ejecutamos el código a través de linea de comandos y ya tenemos creado nuestro árbol de categorías.

Note: Si no queréis importarlo desde json y preferís crear un array php pues descomentáis el trozo comentado y listos.

Espero que os sea útil!

Share This Post!

Subscribe to our RSS feed. Tweet this! StumbleUpon Reddit Digg This! Bookmark on Delicious Share on Facebook

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Search our website

  • Inicio
  • Blog
  • Consultor Web
  • Contactar
  • E-Commerce
  • Oridoki
  • Outsourcing
  • Portfolio
  • Sobre Mi
  • Social Media
© Adrià  Cidre Jugo - 2011