Formularios en HTML5

 

Código

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.










“deldan” Recomienda (20-12-11)

 

Código, Herramientas, Recomienda

Geolocalización para google maps desde el navegador

 

Código

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
}

¿Qué es Open Graph protocol?

 

Código

¿Qué es?

Es un protocolo adoptado por muchos generadores de contenidos ( Facebook, WordPress, Youtube, Vimeo, etc..), para poder compartir su contenido de una forma social.

Esto surge por la necesidad de solucionar el problema que tenían los programadores para integrar contenido de webs externas, tenían que programar  tantas llamadas soap o rest como plataformas de contenidos quisiesen integrar, cada una con sus peculiaridades, cuando al fin y al cabo solo necesitabas siempre las misma información básica.

Ventajas para programadores

La gran ventaja, es programar una sola llamada para todo tipo de contendido que se quiera integrar en la web, o si quieres que tu web sea generadora de contenido y que los demás puedan integrar tu contenido, es muy sencillo y poco costoso.

Ejemplo en código


¿Qué es Open Graph protocol?





Más información
http://ogp.me/

HTML – div 100% alto

 

Código

Para un programador, el css y html a veces no guarda mucha lógica, a veces es así y punto.
Así que aunque esto parezca un tontería, es algo que se olvida y es bueno tenerlo apuntado.

html, body { height: 100%; }

Importante que el height a 100% se aplique tanto en html con en body.

#main{height: 100%;}

El div en cuestión.

Componente REST para cakePhp

 

cakePhp, Código

Buenas, acabo de subir un componente RESTfull para cakePhp en mi cuenta de github https://github.com/deldan/RestAndCurl-component-cakePhp

¿Como hacerlo funcionar?

Descargar los dos componentes y guardarlos en la carpeta app/controller/components de tu proyecto cakePhp

Llamalo en el controlador que se necesite, como con cualquier componente

var $components=array('Curl', 'Restclient');

Y crear las llamadas REST

Dejo un pequeño ejemplo de conexión y llamada a la api de 11870.com con estos componentes


//uri REST
$uri = "http://api.11870.com/api/v2/search";


//parametro de busqueda
 $params['q'] = $search;

 //parametro ciudad
 $params['ls'] = $city;
 
//parametro categoria
 $params['category'] = $tipo;

 //params
 $params['fields'] = 'title,summary,link';
 $params['oauth_token'] = '**********************';
 $params['oauth_token_secret'] = '**********************';
 $params['appToken'] = '**********************';

 
 // REST call
 $result = $this->Restclient->get($uri, $params, 'xml');

Cambiar url navegador desde Ajax en cakePhp (location.hash)

 

cakePhp

Cuando usamos Ajax,  y cargamos información, no se refresca nuestra url.
A veces nos interesa que si sea así, que nuestra url cambié.

Una manera sencilla de hacerlo en cakePhp

echo $ajax->link(
‘ver Usuario’,
array(‘controller’ => ‘User’, ‘action’ => ‘ver/’.$id),

array(‘update’ => ‘ver_usuario’, ‘complete’ => ‘window.location.hash = “usuario”‘)
);

Lo que tenemos en window.location.hash es lo que luego saldrá en nuestra url tipo:  http://localhost/user/ver#usuario

Módulo de pago servired para prestashop V1.3.2.3

 

Prestashop

Con la nueva versión de prestashop ( tienda virtual), hay algunos módulos de pago, pero ninguno me funcionó correctamente.

Hay uno que casí lo conseguía ( uso la caixa como pasarela de pago), hacía toda la transación perfecta con la caixa, pero cuando volvía a la tienda, el pedido no se añadía, y no desaparecía del carrito los productos. Así que ya que funcionaba casí a la perfección, hecho algunas modificaciones, para que funcione correctamente ahora crea el pedido en administración, y borra todo lo que tenías en el carrito.

Versión original: servired07v4

Versión modificada por deldan.com: servired07v4bydeldan ( bug encontrado por @zhenit).

Versión Modifcada por @zhenit : serviredbyzhenit (bug solucionado)

Medir tráfico saliente en Google Analytics

 

Código

Normalmente queremos saber, cuanto tráfico viene, de donde, la calidad de este tráfico. Pero y cuando tenemos la necesidad de saber cuanto tráfico sale por determinados lugares de nuestra web.

Voy a  poner un ejemplo práctico, yo al menos así lo suelo entender mejor.

Tenemos una super web y tiendasreunidas.com quiere publitarse en nuestra web, con un banner, necesitamos saber cuanto usuarios nuestros cliquean al enlacen y se van a tiendasreunidas.com

Si ya tenemos instalado en nuestra web Analytics de google. solo tendremos que hacer lo siguiente:

<a href="http://www.tiendasreunidas.com" onClick="javascript:pageTracker._trackPageview('/outgoing/tiendasreunidas_com');">

También hay posibles casos en que necesites esto mismo para un formulario, el onClick lo ponemos en el submit del formulario:

<input type="submit" value="Enviar" onClick="javascript:pageTracker._trackPageview('/outgoing/tiendasreunidas_com');"/>