[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 Posted in Magento, Programación

Leave a Reply

VicHaunter © 2008