Buscar aquí

martes, 3 de enero de 2012

Etiqueta select con optgroup HTML en Cakephp

La etiqueta optgroup  ofrece la posibilidad de agrupar los option de un select (Las opciones de un drop-down agrupadas con etiquetas). Así:

<select>
  <optgroup label="Swedish Cars">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
  </optgroup>
  <optgroup label="German Cars">
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
  </optgroup>
</select>


 Dado que en Cakephp tenemos métodos para darle formato a estos elementos, la forma de optener dichos optgroups es la siguiente:

Se usan arreglos de 2 dimensiones -> $opt=array('Swedish Cars'=>array('volvo'=>'Volvo','saab'=>'Saab'),'German Cars'=>array('mercedes'=>'Mercedes','audi'=>'Audi'));

y el elemento como siempre:

echo $this->Form->select('carros',$opt);

Gracias


martes, 13 de diciembre de 2011

Java: Nombrar correctamente un identificador

Son las palabras que se usaran para dar nombre a una clase, método, interface, variable o constante, y aunque existen mucha flexibilidad debes tener en cuenta las siguientes reglas para escoger un nombre:

  • Deben ser caracteres Unicode (Amplia posibilidad)
  • Debe comenzar con letra, signo $, o signo _ (underscore), nunca por un numero
  • Luego del primer carácter, puede estar compuesto de letras, números y cualquier carácter luego de 0X00C0 (Esto ultimo es por los carácteres que no son letras (de 0X0041 a 0X007A) y numeros (de 0X0030 a 0X0039) y que estan antes de 0X00C0 como por ejemplo # = 0X0023, < = 0X003C, > = 0X003E, los cuales no se pueden usar como identificadores)
  • La longitud del identificador no importa
  • No puede contener espacios.
  • Java es case-sensitive.
  • Las palabras reservadas de Java no pueden usarse como identificadores.

Son correctos:

$nombre;
_nombre;
____largo;
_$;

Incorrecto:

4numeros;
:d;
mayor>;
public;


Fuentes Java 2,  Benjamin Aumaille

    martes, 14 de junio de 2011

    Usar un controlador sin tener una tabla asociada CakePHP


    En ocasiones he necesitado tener un controlador que no tiene un modelo (tabla en la base de datos asociado). La forma de lograrlo sin que arroje el error:
    Error: Database table home for model Home was not found.

    Poner el siguiente codigo en la definición del controlador:

    class HomeController extends AppController { 

    var $name = 'Home';
    var $uses = array(); //Asi estamos definiendo que modelos usara y al dejarlo vació pues no busca ninguno.


    function index(){
    }


    }


    Gracias,
    Luisa Quiroga