[Magento] Invalid id or tag ‘’ : must use only [a-zA-Z0-9_] [Solucionado]

Si recibimos un error al crear un layout personalizado para nuestra tienda magento similar al siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Invalid id or tag ‘’ : must use only [a-zA-Z0-9_]
Trace:
#0 \lib\Zend\Cache\Core.php(545): Zend_Cache::throwException(’Invalid id or t...’)
#1 \lib\Zend\Cache\Core.php(564): Zend_Cache_Core::_validateIdOrTag(’’)
#2 \lib\Zend\Cache\Core.php(322): Zend_Cache_Core::_validateTagsArray(Array)
#3 \app\code\core\Mage\Core\Model\App.php(1045): Zend_Cache_Core->save(’saveCache()
#6 \app\code\core\Mage\Core\Controller\Varien\Action.php(265): Mage_Core_Model_Layout_Update->load()
#7 \app\code\core\Mage\Cms\Helper\Page.php(83): Mage_Core_Controller_Varien_Action->loadLayoutUpdates()
#8 \app\code\core\Mage\Cms\controllers\IndexController.php(45): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController), ‘home-german’)
#9 \app\code\core\Mage\Core\Controller\Varien\Action.php(376): Mage_Cms_IndexController->indexAction()
#10 \app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(248): Mage_Core_Controller_Varien_Action->dispatch(’index’)
#11 \app\code\core\Mage\Core\Controller\Varien\Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#12 \app\Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch()
#13 \index.php(65): Mage::run()
#14 {main}

Lo que debemos hacer es seguir 2 simples pasos, el primero será buscar nuestro archivo use_cache.ser (que puede que no tengamos si lo hemos trasteado anteriormente).

1
app/etc/use_cache.ser

1.- en caso de no tenerlo lo crearemos, si lo tenemos pasamos al punto 2

1
2
cd app/etc/use_cache.ser
touch use_cache.ser

2.- y ahora le cambiaremos los permisos de escritura

1
chmod 666 use_cache.ser

(es muy frecuente encontrar el problema por haber puesto permisos 777 que son incorrectos para este archivo).

Una vez ya tenemos el archivo bien configurado, nos vamos a ir al fichero en el que agregamos nuestro layout, en este caso

1
cd app/local/local.xml

y buscamos la parte del código, por ejemplo:

1
2
3
4
5
6
7
8
<cms>
    <layouts>
        <redirect>
            <label>Limpio</label>
            <template>page/0column.phtml</template>
        </redirect>
    </layouts>
</cms>

Pues bien, el problema reside en que hay que definir una etiqueta layout, con lo que quedaría así:

1
2
3
4
5
6
7
8
9
<cms>
<layouts>
    <redirect>
        <label>Limpio</label>
            <template>page/0column.phtml</template>
            <layout_handle>page_0column</layout_handle>
        </redirect>
    </layouts>
</cms>

Veremos que el nombre sería page/0column.phtml = page_0column si tenemos page/mitemplate.phtml pondremos page_mitemplate.
Con esto nos debería quedar resuelto el problema de código, ahora solo nos queda irnos a la administración y refrescar el caché, la próxima vez que entremos en la página que nos daba error debería funcionar.

Enero 7th, 2010 | Dejar un comentario

Magento: error message – Notice: Undefined index: 0 app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92 [Solucionado]

Para solucionar este error después de una migración (normalmente), entra en la base de datos con ssh o phpmyadmin (o el que te parezca) y realiza las siguientes acciones:

busca la tabla core_store y core_website y en el registro con nombre admin, cambia la id a 0 (lo normal es que sea un 2)

Una vez hecho esto ya debería funcionar sin problemas.

Julio 10th, 2009 | Dejar un comentario

Las imágenes no se muestran en el frontend tras migrar de servidor magento [Solucionado]

Si acabas de migrar magento de un servidor a otro, o incluso de dominio en el mismo servidor, y las imágenes te aparecen perfectamente en el panel de administración, se suben, se muestran y no tienes problema con ellas, pero sin embargo al ver las imágenes en el frontend, te sale la imágen predeterminada para cuando no tiene imágen este producto, el problema es del modo seguro de php.
Solución:

quitar el modo seguro de php php safe_mode off

Julio 8th, 2009 | Dejar un comentario

Poner stock a 0 Magento mysql [SOLUCIONADO]

Entramos en el administrador de mysql preferido y conectamos a nuestra base de datos. Una vez hecho esto ejecutamos estas consultas:

UPDATE cataloginventory_stock_status SET stock_status = ‘0′ WHERE stock_status > 0;
UPDATE cataloginventory_stock_status SET qty = ‘0′ WHERE qty > 0;
UPDATE cataloginventory_stock_item SET qty = ‘0′ WHERE qty > 0;

Julio 4th, 2009 | Dejar un comentario

Aumentar la velocidad de tu magento con .htaccess

De todos es bien sabido que una instalación limpia de magento con los plugins que sean y los estilos que vayas creando, themes y demás, se convierte en un “culo pesado” a la hora de correr, pues bien, para mejorar el rendimiento del magento, trae de por sí la opción de habilitar la compresión de gzip que según se ha comprobado mejora la velocidad más de un 200%.

Para optimizar tu magento solo tienes que editar el archivo .htaccess y en la parte del served files compression dejarla como el siguiente ejemplo:

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

# Insert filter
SetOutputFilter DEFLATE

# Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don’t compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary

# enable resulting html compression
php_flag zlib.output_compression on

Junio 26th, 2009 | Dejar un comentario

Magento: Actualizar por ssh incluso si da error o nothing to install. [SOLUCIONADO]

Normalmente es por si tienes apache funcionando como modulo PHP pero no debería tener problema nadie. Una vez tengas la forma que te funciona, hazlo todas las veces de la misma forma en futuras actualizaciones via SSH.

1ª opción. Hay que entrar en el ssh, entrar en la carpeta de magento y luego ejecutar los siguientes comandos:

1
rm -rf downloader/pearlib/cache/ downloader/pearlib/download/*
1
./pear upgrade-all
1
rm -rf downloader/pearlib/cache/ downloader/pearlib/download/*

2ª opción. Si se recibe un mensaje que dice nothing to update, probar con esto:

1
./pear mage-setup .
1
./pear install -f magento-core/Mage_All_Latest-stable
1
rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*

Con una de estas dos soluciones deberia funcionar, UNA. Como sugerencia diré que hay que probar la primera y en caso de que no vaya la segunda.

Marzo 4th, 2009 | Dejar un comentario

Magento: La administración deja de funcionar al poner ruta personalizada [SOLUCIONADO]

Magento: Admin doesn’t work when i change the predefined admin path to my customized one.

He tenido un problema al cambiar la ruta del magento. La administración ha dejado de funcionar correctamente. Después de probar varias soluciones lo que he averiguado es que los campos de la base de datos que utiliza para definir su configuración no es como en otros scripts, que está ahí desde que se instala, sino que este lo crea cuando tu intentas configurarlo. Por ello la solución no es poner a 0 los valores sino borrar completamente dichos campos de la base de datos.
Los campos están localizados en la siguiente tabla: core_config_data.

Lo que tenemos que hacer es entrar en la base de datos con phpmyadmin o algún tipo de programa de gestión de base de datos mysql y borrar en dicha tabla los siguientes registros:

admin/url/use_custom
admin/url/custom
web/secure/base_url
web/unsecure/base_url

Como lo crea el Magento sobre la marcha no pongo que tengan una id determinada por que para cada instalación varía dependiendo de lo que has hecho antes de tocar eso. Recuerda, solo tienes que ELIMINAR los registros, no vaciarlos.

Febrero 27th, 2009 | 1 Comentario

Magento: Cambiar url de admin

Esto es bastante simple, si quieres cambiar la url de admin para que en lugar de tudominio.com/admin sea tudominio.com/otraurl solo tienes que cambiar una palabra en un archivo.

entra en la administración del magento y luego entra en

Sistema -> Caché Management

Ahí desactiva todos los caches y dale a guardar.

Abre el archivo app/etc/local.xml

localiza la línea donde pone

1
2
3
4
5
6
7
8
9
     <admin >
    <routers >
    <adminhtml >
    <args >
    <frontName ><![CDATA[admin]]></frontName >
    </args >
    </adminhtml >
    </routers >
    </admin >
Modifica lo siguiente por la url que quieras que sea:
1
<!--[CDATA[admin]]-->
por ejemplo
1
<!--[CDATA[otraurl]]-->
Una vez hecho esto accede al panel de admin con la nueva url y puedes volver a activar el cache.
Si has intentado modificar la ruta de admin desde el panel de admin y no puedes entrar en la administración aquí está la solucion al problema.
Febrero 26th, 2009 | Dejar un comentario
VicHaunter © 2008