Arxiu

Entrades etiquetades ‘CakePHP 1.3’

Errores 404 con Ajax (y jQuery) en CakePHP

dissabte, 10 de juliol de 2010 Comentaris 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.ctp Llegir més…

Instalación de CakePHP sin base de datos

dilluns, 23 de novembre de 2009 Comentaris desactivats

Si queréis hacer una aplicación de CakePHP sin utilizar conexión a base de datos podéis hacerlo mediante la creación de un nuevo datasource.

En el directorio /app/models/datasources/dbo/* cread un fichero llamado dbo_sin_conexion.php con el siguiente contenido:

* Nota: es posible que el directorio dbo tampoco exista y tengáis que crearlo.

<?php // /app/models/datasources/dbo/dbo_sin_conexion.php
class DboSinConexion extends DboSource
{
	function connect()
	{
		$this->connected = true;
		return $this->connected;
	}
	function disconnect()
	{
		$this->connected = false;
		return !$this->connected;
	}
	function isConnected()
	{
		return true;
	}
}

Ahora modificad vuestro fichero database.php (en /app/config/) para indicarle que utilizaremos este fichero para “conectarnos a la base de datos”:

<?php // /app/config/database.php
class DATABASE_CONFIG {

	var $default = array('driver' => 'sin_conexion');
}

Y listo, ya tenemos CakePHP funcionando sin conexión a la base de datos :)