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