deldan
Posts
Si usamos el Helper Form para construir nuestro formularios, cuando tenemos un campo fecha, los meses no salen en inglés. ¿Como traducir esto?
Primero fijarnos en el Helper Form, como están construidos los textos traducibles
__d('cake', 'January');
Viendo en el código vemos que el archivo que va a buscar las traducciones no es el default.po ( como en otras versiones de cakePhp, sino uno llamado cake.po, habría que crear este archivo con las traducciones de todos los meses o descargar el que tengo hecho.
El último paso para que esto funcione, es configurar el cakePhp para que el idioma definido sea castellano.
Para probar ponemos el siguiente código en el controlador que necesitemos esa traducción.
Configure::write('Config.language', 'spa');
A veces en cakePhp nos encontramos con que queremos usar varios modelos en un mismo controlador, y paginar los modelos.
y como es algo que me ha surgido varias veces, y siempre me tengo que para a pensar, lo dejo colgado en el blog, como una pequeña píldora.
Decimos que queremos usar dos modelos.
public $uses = array( 'User', 'Profile');
En lo que siempre fallo es que pongo $this->paginate(); pero si hay varios modelos tengo que decir que modelo quiero paginar, sino por defecto siempre será el primero en la array $uses.
un ejemplo:
public function Profile() {
$this->Profile->recursive = -1;
$this->set('profile', $this->paginate('Profile'));
}
Me he leido el libro Diseño ágil con TDD. Me ha gustado mucho la primera parte del libro algo más teórica, hablando más sobre porqué usar tests, la segunda parte del libro más práctica para mi fue algo más aburrida ya que tenía experiencia en la creación de tests.
Es un libro recomendado para todos los programadores con un nivel medio /alto, Y que quieran mejorar en sus prácticas de programación.
Puedes encontrar este libro en su web oficial http://www.dirigidoportests.com/el-libro , gratuito en su edición online, también cuenta con una edición impresa.
Voy a empezar a crear de vez en cuando posts muy cortos con un apunte una píldora, ya que ha veces me veo buscando como se hacía algo muy sencillo, que ya he hecho con anterioridad, y me pregunto porque no lo subí a mi blog.
Aquí va la primera. A veces en Cakephp nos vemos con la necesidad de pasar código html en un link o en un paginador .. usando los helpers de cake, necesitamos hacer escape, un ejemplo:
//paginación
echo $this->Paginator->prev('', array('escape' => false), null, array('class' => 'prev disabled'));
//link
echo $this->Html->link('', '/pages/home', array('escape' => false));
- www.openlibra.com buena colección de libros bajo la licencia Creative Commons.
- www.css3clickchart.com herramienta para crear css3 online.
- www.codecademy.com increible manera de aprender javascript.
- www.splitwise.com aplicación de control financiero para el hogar.
megaupload esera la plataforma más extendida para subir e intercambiar archivos.
Una de las mejoras en el nuevo Estandar HTML5 aún en desarrollo, está en los Formularios, es cierto que no todos los navegadores tiene la posibilidad de ejecutar correctamente todas las funciones de HTML5, pero es bueno empezar a usar muchas de sus funciones para los navegadores más modernos, nos ahorran mucho trabajo, y siempre hay herramientas como modernizr que nos ayudarán con los navegadores que no soportan HTML5.
Placeholder
Un nuevo atributo que sirve para poner texto dentro de un input cuando está vacío, y que al tabular o pulsar dentro del input desaparezca ese mismo texto, antes para hacer esto había que usar javascript.
<input type="text" placeholder="texto ejemplo">
Autofocus
Nos ayuda a definir que input va a quedar marcado, enfocado, cuando se cargue la página.
<input id="buscar" type="text" autofocus>
Required
Un nuevo atributo que apunta que campos tiene que estar rellenos antes de enviar el formulario, para hacer esto había que crear javascript algo largo dependiendo tipos de campos y las comprobaciones que hacíamos.
<input type="text" name="usr_name" required="required" />
Nuevos tipos de inputs
Tipo search, un input en el que el texto visualmente se le añade una x parar borrar el texto.
<input type="search" name="buscar" />
Tipo email, un input en el que el texto tiene que ser un email.
<input type="email" name="email" />
Tipo url, un input en el que el texto tiene que ser un url
<input type="url" name="miweb" />
Tipo number, con los atributos min, max, y step, nos ayuda a seleccionar un número.
<input type="number" max="10" min="0" step="2" name="minumero" />
Tipo range, similar a number con los mismos atributos, pero visualmente es similar a un slide.
<input type="range" max="10" min="0" step="2" name="minumero" />
En fechas hay varios date, mounth, week, time, datetime.
- http://jsfiddle.net Hacer pruebas de código javascript, con varios frameworks.
- http://builtwith.com Conocer que tecnologías un sitio web.
- http://knockoutjs.com Simplifica las interfaces de usuario dinámicas usando javascript.
- http://mailchimp.com Lo conoceréis muchos, diseñar y enviar Newsletters.
- Komodo edit editor para programar multiplataforma gratuito.
Buenas en el drupal 7, hay un problema bastante extendido , al hacer un module_invoke para mostrar el contenido y el título, el título siempre me viene nulo.
$block = module_invoke('block', 'block_view', 56);
print $block['content'];
print $block['subject']; // viene a null.
No se sí hay otra solución, he estado buscando y nada, así que he hecho esta pequeña función sin respetar el MCV de Drupal.
function titleblock($id){
$result = db_query("SELECT bid, info from block_custom WHERE bid = ".$id);
$data = $result->fetchColumn(1);
return $data; }
En las últimas versiones de los diferentes navegadores hay la opción de geolocalización gracias a la ip donde estás conectado.
Sabiendo está opción me animé a implementarlo en un mapa de google maps. Dejó la parte del código referente a usar la geolocalización del navegador.
if (navigator.geolocation) { //Compruebo si el navegador tiene la opción de geolocalizar
navigator.geolocation.getCurrentPosition(function (position) {
// accedo a geolocalización
map.setCenter(new GLatLng(position.coords.latitude,position.coords.longitude),12);
//añado las coordenadas en la función de google maps
});
}else{
map.setCenter(new GLatLng(40,-4),5);
// si el navegador no tiene la opción de geolocalizar añadimos las coordenadas manualmente
}
Hace bastante del último podcast pero ya tenía ganas, además lo tenía en mi lista de tareas.
En este podcast anímo a mejorar tu marca personal y a usar las herramientas que tenemos a nuestro alcance para ello.
Updates
-
Ya podemos comprar acciones de facebook!!!
-
Me encanta el trabajo de @S_76 con el video http://t.co/DddnPpop ( no sabría por donde empezar)
-
El día del trabajador, muy poca gente veo yo trabajando, jajaja, #porqueDescansarEsParteDelTrabajo
-
Game of borbons http://t.co/TSqOnYxS
-
#buenasnochesyBFN flojo en su primer día, pero poco a poco espero que coja ritmo. me encanta que vuelva @buenafuente
-
No me funciona internet, bueno no me funciona #google
-
Working http://t.co/71u3BXU8
-
@BuiltByEdgar #sublimeText2 y unos cuantos plugins y programar convierte en algo artístico, jejeje
-
La música y el desarrollo web, tiene mucho que ver. Digitalización, memoria semántica, y creación aunque se haciendo copy-paste.
-
Perdona @paulxl por el mensaje de antes, en verdad era para @paulbarriosh, pero os llamáis igual. jejeje
-
Combina palabras tener un dominio aceptable. http://t.co/V1fTBuwF ideal para @paulxl
-
@estebantxo no me refiero a versiones mejoradas, sino a la misma versión con mil nombres.
-
#windows8 a mejorado en diseño y usabilidad, ¿pero en marketing? a quién se le ocurre tener hasta 9 diferentes versiones.
-
Píldora – Traducción de fechas en cakephp 2.0. - http://t.co/ZyHLlNJB | deldan blog
-
Versión beta de Windows 8 http://t.co/pc76gLV4 (habrá que probarlo)
Profile
Summary
Experience
- Nov 2009 - PresentFundador - Desarrolador web / Bonzzay
- 2008 - PresentProgramador web / oficinaone
- 2007 - PresentDesarrollador web / La Linea Magenta SL
- 2006 - PresentSocio fundador - Desarrollador web / netmaq sl
- 2001 - Presentgestión de producción - desarrollador intranet / EuropastryGestión de la producción, y dentro del equipo de desarrollo de intranet de producción.
Education
Additional Information
Bookmarks
I'm a web developer back-end and front-end development. Currently living in Madrid, Spain and working for Bonzzay Desarrollo web in projects related to web development.