Arxiu

Entrades etiquetades ‘CakePHP 1.2’

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…

Integrando CakePHP y phpBB 3.x

dissabte, 23 de gener de 2010 6 comentaris

Ocultar

Antes de empezar…

Más o menos al empezar con este blog expliqué cómo podíais hacer un registro de usuarios externo a phpBB3 con PHP. Hoy voy a contaros cómo hacer para implementar el registro y login de usuarios de phpBB3 en CakePHP.

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…

Como siempre, empiezo con lo que he utilizado para llevar a cabo el tutorial…

  • CakePHP (v. 1.2.4.8284 [1.2.5 stable])
  • phpBB 3.0.2
  • 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 ;)).

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

Implementar plugin jQuery de advertencias tipo Growl en CakePHP

dissabte, 14 de novembre de 2009 12 comentaris

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.

Implementación de Gritter en

Hay varios plugins de jQuery que imitan Growl. En este enlace podéis encontrar los que probablemente sean los más conocidos y utilizados. Para el ejemplo que voy a hacer me he valido de Gritter, que es el plugin que, a mi parecer, más se asemeja a Growl.

Llegir més…

Categories: Programació, Web Etiquetes:, , , , ,