Archive for the ‘CakePHP’ Category

Usar Layout según la acción

Viernes, marzo 12th, 2010

Hoy tuve un problema que no podría haber resuelto sin la ayuda de Pviojo

Estoy creando el administrador (Backend) de un sitio web, por lo que en la opción editar (de un controlador) puse un link y que al apretarlo se cargará el contenido obtenido por otro métodos del mismo controlador.

Eso lo hice usando el AjaxHelper:

echo $ajax->link(
‘Ver’,
array(‘controller’ => ‘pasos’, ‘action’ => ‘listar_por_tipid’, $this->data['Tip']['id']),
array(‘update’ => ‘pasos’, ‘complete’ => ‘window.location.hash = “pasos”‘)
);

Me encontré con una desagradable sorpresa… el div donde se carga el contenido, venía con toda la información, pero también con el Layout que estaba usando, por lo que se veía un layout dentro de otro.

(más…)

Limpiar el campo password al no ser valido el formulario

Miércoles, febrero 17th, 2010

Hoy me encontré con un problema al intentar realizar las validaciones en un formulario de registro de usuarios.

Cuando escrito todos los datos correctamente (según lo definido en el Model::validate()) se registra el usuario correctamente, en caso contrario, se despliegan los errores, pero el campo password aparece con información (******) y si vemos el value del campo, nos damos cuenta que es la codificación del valor enviado.

Recuerden que si uno envía el campo en blanco eso también es codificado y convertido a una cadena de tipo 76cda45484db78aw7

Para evitar eso puse el siguiente código en mi controlador (usuarios_controller.php en mi caso)

[codesyntax lang="php"]
function beforeRender()
{
parent::beforeRender();
$this->data['Usuario']['password'] = ”;
}

[/codesyntax]

Eso significa que antes de hacer el render limpiará ese valor del arreglo de datos.

Si crees tener una mejor solución, por favor escribelo en los comentarios.

Los 3 .htaccess que necesita tu aplicación CakePHP

Martes, febrero 9th, 2010

error404Uso Filezilla como cliente FTP, cree mi aplicación con CakePHP, la moví a un subdirectorio y ya no funcionaba. El navegador me mostraba el Error 404.

Entonces con ayuda de Michael Gomez entendí que el Filezilla tenía desactivado el modo para ver los archivos ocultos (.htaccess). Para activar esa opción y habilitar que se puedan ver los archivos ocultos (los que empiezan con punto en el nombre del archivo) deben presionar en el menú de Filezilla la opción Servidor y luego Forzar mostrar archivos ocultos.

A continuación les publico como son los .htaccess que deben tener en la aplicación CakePHP:

En la raíz del sitio:

RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

En la carpeta App:

RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]

En la carpeta WebRoot:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

Les puede ser de ayuda en caso que lo olviden.

CakePHP en Dreamweaver, editar templates

Lunes, noviembre 16th, 2009

La gran pregunta que nos deja con una cuota de comodidad y acelera en un pequeño porcentaje el desarrollo usando el framework CakePHP.

Debemos hacer que Dreamweaver lea los archivos .ctp (y cualquier extensión que quieras ocupar) para que de esa forma podamos ver estos archivos en vista Diseño.

Primero se debe encontrar y modificar el archivo Extensions.txt, esta en el directorio @DREAWEAVER\Configuration\Extensions.txt

abrimos este archivo y en la linea en donde que termina con :P HP Files (Archivos PHP en español), en donde estan las extensiones de los archivos de PHP, agregamos las extensiones  CTP
PHP,PHP3,PHP4,PHP5,TPL,INC,CTP:PHP Files
guardamos el archivo

Paso 2.  Modificar el archivo MMDocumentTypes.xml
El archivo MMDocumentTypes.xml, esta en el directorio @DREAMWEAVER\Configuration\DocumentTypes\MMDocumentTypes.xml en donde el tag documenttype con id=”PHP MySQL”, en el atributo winfileextension y macfileextension agregamos ctp:

Cerramos el Dreamweaver si es que estaba abierto… y ahora nos mostrará la vista Diseño con esos archivos.

CakePHP – Pagina inicial de la aplicación

Domingo, abril 12th, 2009

Hace poco tiempo que estoy usando CakePHP Framework. Y la verdad es que me a dado muy buenos resultados.

En una oportunidad tuve que elegir cual iba a ser la página inicial de mi aplicación, así que busque y encontré que se cambia en el archivo /app/config/routes.php

En la parte que dice:

[codesyntax lang="php"]<?php
Router::connect (‘/’, array(‘controller’=>’posts’, ‘action’=>’index’));
?>[/codesyntax]

Eso significa que lo primero que se abrirá será la acción index del controlador posts.

Así de simple.