Author Archive

IETester, testea tus desarrollos en todos los IE

Escrito por en 03/06/2010

IETester es el mejor de los portables de Internet Explorer, en una misma aplicación tendréis las versiones 5.5, 6, 7, 8 y 9 de IE. Muy útil para cualquier desarrollador web que deba testear sus desarrollos en todos los navegadores.

ENLACE DIRECTO

Facebook SDK para Android

Escrito por en 29/05/2010


Tal como anunció Facebook en la Google I/O, ha lanzado la Facebook SDK para Android. Eso sí, en beta. Por lo que sabemos, el SDK para el iPhone aún está en desarrollo, por lo que Android se convierte en el primer entorno móvil con SDK de Facebook.

La intención de Facebook es, una vez más, que las aplicaciones de terceros se integren con Facebook. Con esto vamos a poder ver aplicaciones para Android de cualquier tipo con integración con Facebook, básicamente aplicaciones sociales.

Con éste SDK podremos integrar novedades como:

  • Autentificación vía OAuth 2.0
  • Peticiones a la nueva API Open Graph
  • Publicar mensajes en el muro vía feed forms

Ahora toca esperar a que los desarrolladores de aplicaciones para Android decidan si hacer su aplicación más social, no creo que tardemos en ver alguna ;)

Tenéis más información en el post del blog oficial de Facebook.

NetBeans 6.9 Beta y Zend Framework

Escrito por en 19/05/2010

Hoy hablaré de NetBeans, un IDE completísimo, que desde mi experiencia de desarrollo sobre PHP es con el que más a gusto he programado.

Ofrece unas funcionalidades útiles que nos facilitan mucho el trabajo, la más importante puede ser el autocompletado de código, detectando las funciones y clases que hay en el proyecto.

Vamos a ver las novedades que trae la nueva versión 6.9 de éste IDE. Desde el interés de un desarrollador Web:

Lenguajes web: HTML, CSS y JavaScript

  • Refactorización y búsqueda de usos para CSS y lenguajes tipo HTML
  • Auto-completado de código y links para atributos class y id (CSS)
  • Refactorización para extraer estilos en una ventana aparte

PHP

  • Soporte para PHP Zend Framework (con Zend Tool)
  • Nuevo formateador con más reglas de formato

Para los que no conozcáis la herramienta Zend Tool, es un sistema de Zend Framework en el cual, con unas cuantas líneas has creado tu proyecto, con tus controllers, views, etc. Muy práctico, y ahora mucho más si ya viene preparado para utilizarlo directamente desde NetBeans.

Os dejo con un vídeo de explicación sobre el tema:

Y ahora la pregunta… ¿Qué IDE utilizáis normalmente y para qué?

Añade breadcrumb en tu WordPress

Escrito por en 07/05/2010

Es posible que te entre la duda… ¿Qué es un Breadcrumb?
Un breadcrumb es como una guía de navegación que orientará al usuario durante toda la visita de tu blog. Seguramente lo habrás visto en muchos otros blogs y páginas, y en general habrá ayudado a moverte y ubicarte durante la navegación en el sitio.

Generalmente tienen el siguiente formato:

Inicio > Categoría > Subcategoría > Título del post

¿Cómo añadirlo en tu blog WordPress?

Para añadir ésta funcionalidad en tu blog, puedes hacerlo de varias formas:

  • Instalando un plugin (Ej. Breadcrumb NavXT)
  • Creando una función en WP

En 2Novatos vamos a explicar el segundo método. A nuestra forma de verlo, cuantos menos plugins haya ralentizando la renderización del blog, mejor. Otra forma de verlo es, que siempre es mejor saber cómo funciona y qué hace cada cosa. Qué mejor forma que añadiendo y modificando la función a tu gusto.

Estuvimos buscando un breadcrumb que cumpliera nuestras necesidades, es decir, que funcionara en todo el blog y que en los post pusiera la categoría, y en caso de que ésta tuviera una ‘categoría padre’, que se mostrara también. Encontramos un ejemplo en el blog de Arie Putranto [en] que cumplía todo lo que necesitamos, os lo compartimos a todos.

Éste método incluye el breadcrumb a posts, páginas, categorías, subcategorías, resultados de búsquedas, autores… básicamente en todo el blog.
Para empezar, debes añadir la siguiente función en el archivo ‘functions.php‘ de tu theme. Si no existe el archivo, crealo en la carpeta del theme.

<?php
function wp_breadcrumb() {
	global $cat,$s,$post,$wp_locale;
	if ( get_the_category() ) $category = get_the_category();
	if ( is_tag() ) $tag = get_term($tag_ID, 'post_tag', OBJECT, 'display');
	if ( is_author() ) $userdata = get_userdata($author);
	?><div id="breadcrumb"><ul><li class="start"><a href="<?php bloginfo('url'); ?>/" title="<?php bloginfo('name'); ?>"><?php echo __('Home'); ?></a></li><?php
	if ( have_posts() ) :
		// Display breadcrumb for category and sub-category archive
		if ( is_category() ) {?><li><?php echo substr(get_category_parents($cat,true,'</li><li>'),0,-9); ?></li><?php }

		// Display breadcrumb for calendar archive
		elseif ( is_day() ) {?><li><a href="<?php echo get_year_link(get_the_time('Y')); ?>"><?php the_time('Y'); ?></a></li><li><a href="<?php echo get_month_link(get_the_time('Y'),get_the_time('m')); ?>"><?php the_time('F'); ?></a></li><li><a href="<?php echo get_day_link(get_the_time('Y'),get_the_time('m'),get_the_time('d')); ?>"><?php the_time('d'); ?></a></li><?php }
		elseif ( is_month() ) {?><li><a href="<?php echo get_year_link(get_the_time('Y')); ?>"><?php the_time('Y'); ?></a></li><li><a href="<?php echo get_month_link(get_the_time('Y'),get_the_time('m')); ?>"><?php the_time('F'); ?></a></li><?php }
		elseif ( is_year() ) {?><li><a href="<?php echo get_year_link(get_the_time('Y')); ?>"><?php the_time('Y'); ?></a></li><?php }

		// Display breadcrumb for single post and attachments
		elseif ( is_single() ) {?><li><?php echo substr(get_category_parents($category[0]->cat_ID,true,'</li><li>'),0,-9); ?></li><?php if($post->post_parent ) {?><li><a href="<?php echo get_permalink($post->post_parent); ?>"><?php echo get_the_title($post->post_parent); ?></a></li><?php } ?><li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li><?php }

		// Display breadcrumb for pages
		elseif ( is_page() ) {if ( $post->post_parent ) {?><li><a href="<?php echo get_permalink($post->post_parent); ?>"><?php echo get_the_title($post->post_parent); ?></a></li><?php } ?><li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li><?php }

		// Display breadcrumb for search result page
		elseif ( is_search() ) {?><li><a href="<?php echo clean_url( get_pagenum_link() ); ?>" title="<?php echo __('Search result for') . ' ' . wp_specialchars(get_query_var('s')); ?>"><?php echo __('Search result for') . ' ' . wp_specialchars(get_query_var('s')); ?></a></li><?php }

		// Display breadcrumb for tag archive
		elseif ( is_tag() ) {?><li><a href="<?php echo clean_url( get_pagenum_link() ); ?>" title="<?php echo __('Archive for tag') . ' ' . $tag->name; ?>"><?php echo __('Archive for tag') . ' ' . $tag->name; ?></a></li><?php }

		// Display breadcrumb for author archive
		elseif ( is_author() ) {?><li><a href="<?php echo clean_url( get_pagenum_link() ); ?>" title="<?php echo __('Article posted by') . ' ' . $userdata->display_name; ?>"><?php echo __('Article posted by') . ' ' . $userdata->display_name; ?></a></li><?php }

		// Display breadcrumb for page which got split
		if ( get_query_var('page') ) {?><li><a href="<?php get_permalink(); ?>" title="<?php echo __('Part'); ?> <?php echo get_query_var('page'); ?>"><?php echo __('Part'); ?> <?php echo get_query_var('page'); ?></a></li><?php }

		// Display breadcrumb for paged archives
		if ( get_query_var('paged') ) {?><li><a href="<?php get_permalink(); ?>" title="<?php echo __('Page'); ?> <?php echo get_query_var('paged'); ?>"><?php echo __('Page'); ?> <?php echo get_query_var('paged'); ?></a></li><?php }
	endif;
	?></ul>
	</div>
	<?php
}

?>

Una vez has añadido la función en su archivo correspondiente (functions.php). Debes modificar el archivo ‘header.php‘ de tu theme y añadir el siguiente código al final del archivo:


<?php
wp_breadcrumb();
?>

Una vez ésto está hecho, ya puedes ver que el breadcrumb sale en todo tu blog.
Ahora solo queda ponerle algo de CSS para que se adapte a tu diseño. Ésta parte la dejamos en tu mano, ya que cada diseño es diferente.

#breadcrumb { }
#breadcrumb ul { }
#breadcrumb ul li { }

Esperamos que te sea de utilidad, cualquier duda con el código no dudes en contactar-nos.

Arie Putranto [en]

Soluciona tus incompatibilidades con Internet Explorer

Escrito por en 30/04/2010

¿Eres desarrollador o maquetador Web y estás harto de las incompatibilidades de Internet Explorer? En éste mundillo es algo que a todos nos ocurre, por todos es sabido que no cumple muchos de los estándares Web, lo que complica la vida a los que nos dedicamos a ello.

Hace unos meses descubrí una librería en Javascript que soluciona ciertas incompatibilidades de IE y hace cumplir los estándares Web. Aunque está claro que ésto no lo solucionará todo, pero si que en parte nos evitará algún que otro dolor de cabeza.

Si queréis que las versiones de IE ( 5 a 8 ) se comporten como los demás navegadores, es decir, respetando los estándares Web y reparando sus fallos. Es tan simple como introducir este JS en vuestro proyecto, aunque yo os recomiendo descargarlo y subirlo en vuestro servidor.

<!-- Author: Dean Edward -->

<!--[if IE]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta3)/IE9.js"></script>
<![endif]--></a>

En la web del proyecto tenéis más explicaciones sobre la utilización del mismo.
Por lo que he podido ver en las últimas semanas, el proyecto está en constante desarrollo. No hay más que entrar en el repositorio del proyecto y ver las recientes actualizaciones del mismo.

Si tenéis un Internet Explorer a mano, podéis entrar en la página de demos, y ver las cosas que arregla éste JS, y por tanto, funcionan como deberían.

Sin duda es algo que nos ayudará en ciertos proyectos y que habrá que tener en cuenta.

Quick Highlighter, colorea tu código online

Escrito por en 30/04/2010

No tienes un editor decente a mano y necesitas colorear tu código para una entrega o presentación? Quick Highlighter nos evitará más de un apuro. Simple, escoge el lenguage de programación y pega tu código.

ENLACE DIRECTO