Posts in magento

Magento redirects a la vieja URL luego de mover un site

junio 27th, 2013 Posted by magento 0 thoughts on “Magento redirects a la vieja URL luego de mover un site”

Mover un site Magento (casi) siempre es problemático. Y una de las cosas más aburridas es actualizar las URLs de las tiendas luego de mover un site.

Por lo cual me hice un pequeño script para automatizar un poco esto.

Para ejecutarlo hay que crear un carpeta llamada [MAGE_ROOT]/scripts/update-stores_urls y meter este php (update-stores-urls.php):

<?php

/*
* Luego de importar el SQL de un website Magento actualiza las URLs de las tiendas.
*
* 1. Setear el host para las urls unsecure.
* 2. Setear el host para las urls secure.
* 3. Setear los datos de conexión a la base de datos.
* 4. Ejecutar desde la línea de comandos:
*
* $ sh run.sh
*
*/

define ('SOURCE_HOST_UNSECURE', 'http://www.mysite.com/');
define ('SOURCE_HOST_SECURE', 'https://www.mysite.com/');

define ('TARGET_HOST_UNSECURE', 'http://new.mysite.local/');
define ('TARGET_HOST_SECURE', 'http://new.mysite.local/');

$db['name'] = 'db_magento';
$db['user'] = 'db_user';
$db['pass'] = 'db_pass';
$db['host'] = 'db_host';

$conn = mysql_connect($db['host'],$db['user'],$db['pass']);
@mysql_select_db($db['name']) or die(mysql_error());

// Se actualizan las URLs no seguras
$query = "SELECT config_id, value FROM core_config_data WHERE path LIKE 'web/unsecure/%'";

$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result)) {
$config_id = $row['config_id'];
$value = str_replace(SOURCE_HOST_UNSECURE, TARGET_HOST_UNSECURE, $row['value']);

$query = "UPDATE core_config_data SET value = '$value' WHERE config_id = $config_id";

echo $query . "n";

mysql_query($query);
}


// luego actualizo los configs secure
$query = "SELECT config_id, value FROM core_config_data WHERE path LIKE 'web/secure/%'";

$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result)) {
$config_id = $row['config_id'];
$value = str_replace(SOURCE_HOST_SECURE, TARGET_HOST_SECURE, $row['value']);

$query = "UPDATE core_config_data SET value = '$value' WHERE config_id = $config_id";

echo $query . "n";

mysql_query($query);
}

echo "Actualizadas las URLs de las tiendas :)n";

?>

Y el siguiente sh (run.sh):

# actualizacion de las urls en la bd
php update-stores-urls.php

# limpieza de la cache
rm -fr ../../var/cache/*
rm -fr ../../var/session/*

Para ejecutarlo correr desde línea de comandos:

$ sh run.sh

Para más info de cómo acá hice un mini tutorial sobre los pasos a seguir para mover / copiar un site Magento a un servidor MAMP.

Uncaught exception ‘Zend_Exception’ with message ‘dbModel read resource does not implement Zend_Db_Adapter_Abstract’

junio 14th, 2013 Posted by magento 0 thoughts on “Uncaught exception ‘Zend_Exception’ with message ‘dbModel read resource does not implement Zend_Db_Adapter_Abstract’”

Simple 🙂


# rm var/cache/*
# rm var/session/*

Cómo eliminar la caja de comparar productos del sidebar de Magento.

mayo 28th, 2013 Posted by magento 0 thoughts on “Cómo eliminar la caja de comparar productos del sidebar de Magento.”

Una vez más se puede utilizar el local.xml para modificar el layout y así eliminar la caja de comparar productos en el sidebar de Magento.

Para eliminar dicha caja de todo tu site de Magento tenés que poner lo siguiente:


<default>
<remove name="catalog.compare.sidebar"/>
</default>

Cómo eliminar CSS de ciertas páginas en Magento

mayo 27th, 2013 Posted by magento 0 thoughts on “Cómo eliminar CSS de ciertas páginas en Magento”

Puede ser que tengas un css en tu layout que quieras que no esté en determinada página de Magento.

Para esto se puede utilizar el sistema de layouts de Magento poniendo lo siguiente:


<reference name="head">
<action method="removeItem">
<type>skin_css</type>
<name>filename.css></name>
<params />
</action>
</reference>

Esto se puede poner en el local.xml o también si es una página del CMS de Magento en CMS > Custom Design > Layout Update XML.

Algo similar se puede hacer si necesitás eliminar JS de ciertas páginas.

Cómo actualizar los índices de Magento desde consola

mayo 26th, 2013 Posted by magento 0 thoughts on “Cómo actualizar los índices de Magento desde consola”

Los índices de Magento se pueden actualizar desde el backend (Sistema > Index Management) o mediante un comando por consola.

Para actualizar los índices por consola hay que situarse en el directorio “shell” y lanzar el siguiente comando:


# php indexer.php reindexall

Cómo deshabilitar productos en Magento.

mayo 25th, 2013 Posted by magento 0 thoughts on “Cómo deshabilitar productos en Magento.”

Si bien se puede deshabilitar uno a uno los productos en Magento, o también hay algunos módulos que permiten hacer batch update, o incluso se pueden utilizar los perfiles de importación para actualizar los productos, hacerlo de manera programática consume muchos recursos y muchas veces al hacer actualizaciones de muchos productos Magento explota.

Entonces, para hacerlo de manera rápida se puede lanzar un query que actualice el atributo “status” al valor 2 (deshabilitado).

Para ello se puede utilizar el siguiente query:

UPDATE catalog_product_entity_int cpei, catalog_product_entity cpe
SET cpei.value = "2"
WHERE cpe.entity_id = cpei.entity_id
AND cpe.sku LIKE '%SKU%'
AND cpei.attribute_id = 273

Luego de lanzar el query hay que actualizar los índices de Magento. Esto se puede hacer desde el backend o por consola (hay que situarse en el directorio shell):

# php indexer.php reindexall

Importante: el id del atributo status (273 en mi ejemplo) puede variar según la instalación de Magento.

Para saber el id del atributo “status” se puede ir a Catálogo > Atributos > Gestionar los atributos > buscar por código el atributo status > hacer click sobre el mismo > copiar el id que aparece en la url.

Por ejemplo: admin/catalog_product_attribute/edit/attribute_id/273

Programador PHP Argentina

marzo 23rd, 2013 Posted by freelance, ios, magento, objective-c, php, prestashop, wordpress 0 thoughts on “Programador PHP Argentina”

Hola.

Soy un programador freelance de Argentina que se dedica al desarrollo de aplicaciones web.

Desde hace más de 7 años que me dedico al desarrollo de aplicaciones PHP. Empecé con PHP “puro y duro” por así decirlo.

Luego estuve viendo los diferentes frameworks MVP del mercado de los cuales los que más me gustaron son Zend y Symphony.

Y finalmente comencé a trabajar con los diferentes CMS que hay para PHP para no “reinventar la rueda” 🙂

Trabajé con WordPress y Drupal a nivel CMS. Y en cuanto a tiendas online con Magento y Prestashop.

Ahora mismo, además de dedicarme al desarrollo de aplicaciones web me encuentro trabajando en el desarrollo de aplicaciones móviles. Principalmente me dedico a iOS con Objective, pero también (dependiendo del proyecto) trabajo con Android (desde 2.2 en adelante) y con jQuery Mobile (para el caso de web applications móviles).

Si tenés alguna duda o querés un presupuesto contactame acá que hoy mismo me pongo en contacto con vos.

Cómo comprobar si funciona el envío de emails de Magento

marzo 22nd, 2013 Posted by magento 0 thoughts on “Cómo comprobar si funciona el envío de emails de Magento”

Hay veces en las cuales es necesario comprobar si Magento está enviando de manera correcta los emails y no hay en el backend un botón “Enviar email”.

Una manera fácil de comprobar si nuestra tienda de Magento está enviando los emails correctamente es tener un usuario de pruebas y desde el backend resetear su password.

Si está funcionando correctamente le llegará el email al usuario. Si no no llega es porque hay algún problema con el envío de emails.

“Calle” la longitud debe ser igual o mayor que 1 caracteres.

agosto 23rd, 2012 Posted by magento 0 thoughts on ““Calle” la longitud debe ser igual o mayor que 1 caracteres.”

En Magento hay un bug que molesta y es que cuando el usuario selecciona “Otro” en tipo vía sale este mensaje sin solución aparente:

La solución a este bug es ir en el backend a: System > Configuration > Customers > Customer Configuration > Name and Address Options

Buscar “Number of Lines in a Street Address” y eliminar el valor que tenga. Probablemente tenga el valor 2.

PayPal gateway has rejected request. Callback URL is wrong type; you must use the HTTPS (#11813: Callback URL is wrong type).

julio 19th, 2012 Posted by magento, paypal 0 thoughts on “PayPal gateway has rejected request. Callback URL is wrong type; you must use the HTTPS (#11813: Callback URL is wrong type).”

Esto ocurre en Magento cuando se configura para utilizar el Express Checkout y no está configurado un certificado SSL en el servidor.

Paypal espera una URL de respuesta https://

Copyright © 2018 programadorfreelanceargentina.com

Programador Freelance Argentina