Primeros pasos en electrónica

El primero de mis hobbies fue la programación.

El segundo fue la electrónica. Cuando era chico (sin inet) era complicado conseguir info. Además en mi ciudad era prácticamente imposible conseguir componentes. Así que este hobby lo dejé en el camino.

Ahora por la necesidad de hacer una mezcladora casera para conectar mi Mac y una pedalera de guitarra juntas para que no me echen del edificio por ruidos molestos me puse de nuevo a chusmear, y me cebé :)

Acá voy a ir anotando mis primeros pasos en electrónica.

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.

Cómo quitar la nueva caja de componer email de Gmail | How to come back to old compose gmail

La verdad es que la nueva caja de componer email de Gmail es una porquería (al menos en mi humilde opinión).

Te volvés loco para ver en esa cajita tan diminuta, y si querés poner una lista y alinearla tenés que hacer 10 mil clicks.

Así que volví a usar el viejo compose de Gmail que por el momento se puede volver a usar.

Para ello hay que hacer los siguientes pasos.

1) Hacer click en el triangulito y seleccionar "Volver temporalmente a la interfaz de redacción antigua".

2) Hacer click en "Volver a la anterior temporalmente".




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

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

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