dissabte, 10 de juliol de 2010BooletaireComentaris desactivats
En este tutorial aprenderéis a gestionar los errores de CakePHP con y sin Ajax.
Lo primero de todo que tenéis que hacer es poner el debug a cero en vuestro fichero core.php, ya que con debug > 0 no funcionaría.
Ahora pasemos a crear (si no existe) el fichero /app/app_error.php con el siguiente contenido.
<?php // /app/app_error.php
class AppError extends ErrorHandler
{
function error404($params)
{
// Importamos RequestHandler para verificar si la conexión es mediante Ajax
App::import('Component', 'RequestHandler');
$this->RequestHandler = new RequestHandlerComponent();
if ($this->RequestHandler->isAjax())
{
// En caso de ser Ajax creamos la cabecera 404
$this->controller->header("HTTP/1.0 404 Not Found");
// y pasamos algunas variables a la vista que ahora crearemos
$this->controller->set('params', $params);
$this->controller->layout = 'ajax';
// Renderizamos la vista
$this->_outputMessage('ajax_error404');
}
// Aquí iría la gestión del error sin Ajax, en nuestro caso llamamos al método padre.
else parent::error404($params);
}
}
Pasemos a la creación de la vista… /app/views/errors/ajax_error404.ctpLlegir més…
Podéis ver, como ejemplo, la página de underave. Pero os pido por favor que no os registréis si no vais a utilizar la cuenta.
Antes de empezar con el tutorial, por favor, leeros el tutorial anterior sobre el registro de usuarios externo a phpBB3, ya que habrá ciertos aspectos que pasaré por alto por estar explicados en ese tutorial.
Además de miraros ese tutorial deberíais echar un vistazo a la documentación del componente Auth, ya que sin él el registro de usuarios sería otra cosa…
Componente de integración de phpBB3 (que ahora crearemos)
Aunque yo haya utilizado la versión 3.0.2 de phpBB, debéis saber que este sistema debe funcionar igual de bien en cualquier versión de phpBB 3 😉
Parto de la base de que tenéis creado un modelo y un controlador encargados de gestionar los usuarios de vuestra aplicación Cake. En mi caso los he llamado “users“, aunque podéis llamarlos “usuarios”, “members“, o como os dé la gana.
Es decir, doy por supuesto que ya tenéis un sistema de usuarios funcionando en vuestra aplicación CakePHP. En este tutorial sólo os explicaré cómo integrar el registro y login de phpBB3, así que todo lo demás (validaciones de datos, creación de formularios, funcionamiento de la clase Auth…) quedará por supuesto (lo cual no quiere decir que no vaya a haber código al respecto ;)).
Nota para usuarios de CakePHP 1.3: he puesto algunos comentarios y notas como esta en el código y en el tutorial.
Tened en cuenta también (por si no lo sabéis..) que el helper de JavaScript ya no se utiliza para incrustar y cargar código en la variable $scripts_for_layout. Así mismo no estaría de más que reemplazarais el modo en que se utilizan los helpers en las vistas (es decir, utilizar $this->Html en lugar de $html por ejemplo).
Voy a explicaros una forma sencilla reemplazar vuestras capas flashMessage por bonitos mensajes dinámicos creados con jQuery imitando el estilo de Growl.
Para los que no lo sepáis, Growl es un sistema de advertencias de Mac que nos unifica todas las advertencias (tanto de sistema como las del resto de aplicaciones) siguiendo el mismo estilo y mostrándose y ocultándose con efectos de entrada y salida.
¡Ayúdanos a mantener el servidor de underave! Cualquier donación es válida, desde 1 mísero €urillo hasta la cantidad que vosotros queráis :D (la donación es mediante PayPal)
Ajuda'ns a mantenir el servidor d'underave! Qualsevol donació és vàlida, des d'un insignificant €urillu fins la quantitat que vulgueu :D (la donació es fa mitjançant paypal)