[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:

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).

app/etc/use_cache.ser

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

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

2.- y ahora le cambiaremos los permisos de escritura

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

cd app/local/local.xml

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

<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í:

<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.

Deja un comentario

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>