<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Blog Pedro Ventura</title>
	
	<link>http://www.pedroventura.com/blog_programacion</link>
	<description>Éste es mi portafolio personal y profesional.</description>
	<lastBuildDate>Tue, 20 Oct 2009 13:24:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/BlogPedroVentura" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Google Friend Connect caído</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/10/20/google-friend-connect-caido/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/10/20/google-friend-connect-caido/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 13:03:12 +0000</pubDate>
		<dc:creator>PedroVentura</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[caído]]></category>
		<category><![CDATA[connect]]></category>
		<category><![CDATA[down]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[friend]]></category>
		<category><![CDATA[fuera de servicio]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=273</guid>
		<description><![CDATA[No es la primera vez que la herramienta social de Google, Google Friend Connect se cae.
Pero el impacto que tiene en la red de blogger y en todas las web que usan sus herramientas sociales es importante.
Cuando esto ocurre, el servicio que da 
mi web es horrible.

Interrupción del aspecto social de la web, no se [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/oHkyXlU_SZxHQWAlCXU-EquCssc/0/da"><img src="http://feedads.g.doubleclick.net/~a/oHkyXlU_SZxHQWAlCXU-EquCssc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/oHkyXlU_SZxHQWAlCXU-EquCssc/1/da"><img src="http://feedads.g.doubleclick.net/~a/oHkyXlU_SZxHQWAlCXU-EquCssc/1/di" border="0" ismap="true"></img></a></p><p>No es la primera vez que la herramienta social de Google, Google Friend Connect se cae.<br />
Pero el impacto que tiene en la red de blogger y en todas las web que usan sus herramientas sociales es importante.</p>
<p>Cuando esto ocurre, el servicio que da 
<a  href="http://www.mexame.com" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.mexame.com');" >mi web</a> es horrible.</p>
<ol>
<li>Interrupción del aspecto social de la web, no se pueden identificar usuarios, ni generar eventos.</li>
<div id="attachment_276" class="wp-caption alignnone" style="width: 310px">
<a  href="http://www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/FireShot-capture-115-Mexame-Publicado-Noticias-www_mexame_com_index_php.jpg" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/FireShot-capture-115-Mexame-Publicado-Noticias-www_mexame_com_index_php.jpg');" ><img class="size-medium wp-image-276" title="Errores producidos por la caida del servicio de Google Friend Connect" src="http://www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/FireShot-capture-115-Mexame-Publicado-Noticias-www_mexame_com_index_php-300x78.jpg" alt="Errores producidos por la caida del servicio de Google Friend Connect" width="300" height="78" /></a><p class="wp-caption-text">Errores producidos por la caida del servicio de Google Friend Connect</p></div>
<li>Tiempo de carga de la web muy elevados! LOL 25 segundos..</li>
<div id="attachment_275" class="wp-caption alignnone" style="width: 310px">
<a  href="http://www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/tiemposcarga.jpg" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/tiemposcarga.jpg');" ><img class="size-medium wp-image-275" title="tiempos de carga cuando falla Google Friend Connect" src="http://www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/tiemposcarga-300x41.jpg" alt="tiempos de carga cuando falla Google Friend Connect" width="300" height="41" /></a><p class="wp-caption-text">tiempos de carga cuando falla Google Friend Connect</p></div>
<li>Los iframe de Google generan errores 404 visibles para el usuario</li>
<p><div id="attachment_274" class="wp-caption alignleft" style="width: 281px">
<a  href="http://www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/FireShot-capture-112-Mexame-Publicado-Noticias-www_mexame_com_index_php.jpg" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/FireShot-capture-112-Mexame-Publicado-Noticias-www_mexame_com_index_php.jpg');" ><img class="size-full wp-image-274" title="Articulos relacionados por usuarios de Google Friend Connect" src="http://www.pedroventura.com/blog_programacion/wp-content/uploads/2009/10/FireShot-capture-112-Mexame-Publicado-Noticias-www_mexame_com_index_php.jpg" alt="Articulos relacionados por usuarios de Google Friend Connect" width="271" height="215" /></a><p class="wp-caption-text">Articulos relacionados por usuarios de Google Friend Connect</p></div></ol>
<p>Supongo que deberían desarrollar algo similar como lo que tienen para los Adsense, en el caso que no haya anuncios relevantes o no están disponibles se pueden mostrar otras opciones como: anuncios de servicio público, Mostrar anuncios que no sean de Google a partir de otra URL o Rellenar el espacio con un color fuerte.<br />
Esta idea la podían implementar para widgets de Google Friend Connect o incluso que se pudiera editar un mensaje de error personalizado en caso de que el servicio se caiga&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/10/20/google-friend-connect-caido/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP Helper para crear un listado de países</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/10/08/cakephp-helper-para-crear-un-listado-de-paises/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/10/08/cakephp-helper-para-crear-un-listado-de-paises/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 16:18:55 +0000</pubDate>
		<dc:creator>PedroVentura</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[formulario]]></category>
		<category><![CDATA[helper]]></category>
		<category><![CDATA[listado]]></category>
		<category><![CDATA[mostar]]></category>
		<category><![CDATA[mundo]]></category>
		<category><![CDATA[paies]]></category>
		<category><![CDATA[países]]></category>
		<category><![CDATA[registro]]></category>
		<category><![CDATA[usuarios]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=254</guid>
		<description><![CDATA[Necesitaba para mi registro una manera de integrar el típico select option con los nombres de los países.
He creado un Helper para CakePHP que genera un listado de los paises.
Está muy chulo y con tan sólo una línea en vuestro formulario lo tendréis funcionando.
Incluir en vuestro controlador el Helper

var $helpers = array&#40;'PaisesListado'&#41;;

En vuestra vista app/views/(miaccion)/vista.ctp
Añadir [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/aFpDVhvHwvVuGhyoi2x1gyE7YDU/0/da"><img src="http://feedads.g.doubleclick.net/~a/aFpDVhvHwvVuGhyoi2x1gyE7YDU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aFpDVhvHwvVuGhyoi2x1gyE7YDU/1/da"><img src="http://feedads.g.doubleclick.net/~a/aFpDVhvHwvVuGhyoi2x1gyE7YDU/1/di" border="0" ismap="true"></img></a></p><p>Necesitaba para mi registro una manera de integrar el típico select option con los nombres de los países.<br />
He creado un Helper para CakePHP que genera un listado de los paises.<br />
Está muy chulo y con tan sólo una línea en vuestro formulario lo tendréis funcionando.</p>
<p>Incluir en vuestro controlador el Helper</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$helpers</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'PaisesListado'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>En vuestra vista app/views/(miaccion)/vista.ctp<br />
Añadir la linea en el formulario que crea la magia.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$paisesListado</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">select</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pais'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'00'</span><span style="color: #339933;">,</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'style'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'width:150px'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<blockquote><ul>
<li>Pais es el nombre que le doy al select option.</li>
<li>null es para que no me ponga ninguna etiqueta adicional.</li>
<li>&#8216;00&#8242; es el id del campo que quiero aparezca preseleccionado, en este caso es el texto que dice que seleccione un país. Ver en el helper: &#8216;00&#8242; =&gt;&#8217;Selecciona un pais&#8217;,</li>
<li>El siguiente es un array de atributos adiccionales para darle al select option.</li>
</ul>
</blockquote>
<p>Copiar el contenido del siguiente Helper en app/views/helpers/paises_listado.php</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009933; font-style: italic;">/**
 * Helper para mostrar un select list de todos los paises.
 * Author: Pedro Ventura
 * URL: http://www.pedroventura.com
 * Mirar como funciona el elemento select del Helper Form para entender el funcionamiento
 * http://book.cakephp.org/view/728/select
 */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> PaisesListadoHelper <span style="color: #000000; font-weight: bold;">extends</span> FormHelper
<span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$helpers</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Form'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> select<span style="color: #009900;">&#40;</span><span style="color: #000088;">$camponombre</span><span style="color: #339933;">,</span> <span style="color: #000088;">$label</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$default</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atributos</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$list</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$label</span><span style="color: #339933;">!=</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$list</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">label</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$label</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$list</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">select</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$camponombre</span> <span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'00'</span> <span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Selecciona un pais'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AF'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Afganistán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AL'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Albania'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'DE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Alemania'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AD'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Andorra'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Angola'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Anguila'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AQ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Antártica'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Antigua y Barbuda'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Antillas Holandesas'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Arabia Saudá'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'DZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Argelia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Argentina'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Armenia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Aruba'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Australia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Austria'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Azerbaiján'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bélgica'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BS'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bahamas'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bahrain'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BD'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bangladesh'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BB'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Barbados'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Belarus'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Belice'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BJ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Benin'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bermuda'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bolivia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bosnia-Hercegovina'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Botswana'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Brasil'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Brunei Darussalam'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bulgaria'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BF'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Burkina Faso'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Burundi'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Bután'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CV'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Cabo Verde'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Camboya'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Camerún'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Canadá'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TD'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Chad'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CL'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Chile'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'China'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Chipre'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'VA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Ciudad del Vaticano'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Colombia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Comoras'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Congo'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KP'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Corea del Norte'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Corea del Sur'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Costa de Marfil'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Costa Rica'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'HR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Croacia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Cuba'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'DK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Dinamarca'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'DJ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Djibuti'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'DM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Dominica'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'EC'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Ecuador'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'EG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Egipto'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SV'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'El Salvador'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Emiratos Árabes Unidos'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ER'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Eritrea'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Eslovaquia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Eslovenia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SP'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'España'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'EE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Estonia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ET'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Etiopía'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'RU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Federación Rusa'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'FJ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Fiji'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Filipinas'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'FI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Finlandia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'FR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Francia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'FX'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Francia Metropolitana'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Gabón'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Gambia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Georgia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GS'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Georgia del Sur e Islas Sandwich del Sur'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Ghana'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Gibraltar'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Grecia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GL'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Groenlandia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GP'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Guadalupe'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Guam'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Guatemala'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GF'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Guayana Francesa'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Guinea'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GQ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Guinea Ecuatorial'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Guinea-Bissau'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Guyana'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'HT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Haití'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'HN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Honduras'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'HK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Hong Kong'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'HU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Hungría'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'IN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'India'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ID'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Indonesia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'IR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Irán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'IQ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Irak'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'IE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Irlanda'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'BV'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Isla Bouvet'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CX'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Isla Christmas'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NF'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Isla Norfolk'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'IS'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islandia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Caimanes'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CC'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Cocos (Keeling)'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Cook'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'FO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Faroe'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'HM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Heard y Mc Donald'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'FK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Malvinas'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MP'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Marianas Septentrionales'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Marshall'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SB'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Salomón'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SJ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Svalbard y Jan Mayen'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TC'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Turks y Caicos'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'VG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Vírgenes (Británicas)'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'VI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Vírgenes (EEUU)'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'WF'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Islas Wallis y Futuna'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'IL'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Israel'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'IT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Italia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'JM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Jamaica'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'JP'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Japón'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'JO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Jordania'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'QA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Katar'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Kazajistán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Kenia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Kirguizistán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Kiribati'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Kuwait'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LB'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Líbano'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Laos, República Popular'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LS'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Lesoto'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LV'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Letonia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Liberia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Libia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Liechtenstein'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Lituania'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Luxemburgo'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MX'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'México'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MC'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Mónaco'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Macao'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Macedonia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Madagascar'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Malasia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Malaui'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MV'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Maldivas'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ML'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Mali'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Malta'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Marruecos'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MQ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Martinica'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Mauricio'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Mauritania'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'YT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Mayotte'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'FM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Micronesia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MD'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Moldova'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Mongolia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MS'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Montserrat'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Mozambique'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'MM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Myanmar'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Níger'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Namibia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Nauru'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NP'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Nepal'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NI'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Nicaragua'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Nigeria'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Niue'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Noruega'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NC'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Nueva Caledonia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Nueva Zelanda'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'OM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Omán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'NL'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Países Bajos'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Pakistán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Palau'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Panamá'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Papua Nueva Guinea'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Paraguay'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Perú'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Pitcairn'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PF'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Polinesia Francesa'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PL'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Polonia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Portugal'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Puerto Rico'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'GB'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Reino Unido'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'República Árabe de Siria'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CF'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'República Centroafricana'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'República Checa'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'DO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'República Dominicana'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'RE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Reunión'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'RW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Ruanda'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'RO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Rumanía'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'EH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Sahara Occidental'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'WS'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Samoa'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'AS'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Samoa Americana'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'KN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'San Cristóbal y Nevis'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'San Marino'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'VC'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'San Vicente y las Granadinas'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Santa Elena'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LC'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Santa Lucía'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ST'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Santo Tomé y Príncipe'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Senegal'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'yu'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Serbia y Montenegro'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SC'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Seychelles'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SL'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Sierra Leona'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Singapur'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Somalía'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'LK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Sri Lanka'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'PM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'St Pierre y Miquelon'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Suazilandia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ZA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Sudáfrica'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SD'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Sudán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Suecia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'CH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Suiza'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'SR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Surinam'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Túnez'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TH'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Tailandia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Taiwan'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Tanzanía'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TJ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Tayiquistán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TF'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Territorios australes y antárticos franceses'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'IO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Territorios Británicos del Océano Índico'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TP'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Timor Oriental'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Togo'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TK'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Tokelau'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TO'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Tonga'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TT'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Trinidad y Tobago'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Turkmenistán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Turquía'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'TV'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Tuvalu'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'UA'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Ucrania'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'UG'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Uganda'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'UY'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Uruguay'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'US'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'USA'</span><span style="color: #339933;">,</span>  
            <span style="color: #0000ff;">'UZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Uzbekistán'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'VU'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Vanuatu'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'VE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Venezuela'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'VN'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Vietnam'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'YE'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Yemen'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ZR'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Zaire'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ZM'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Zambia'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ZW'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Zimbabue'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'ZZ'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Otros-No indicados'</span><span style="color: #339933;">,</span>           
            <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$default</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atributos</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$list</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">output</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/10/08/cakephp-helper-para-crear-un-listado-de-paises/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Nuevo proyecto: linkinho</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/09/28/nuevo-proyecto-linkinho/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/09/28/nuevo-proyecto-linkinho/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 11:49:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=243</guid>
		<description><![CDATA[Ya está online mi nuevo proyecto: 
linkinho.com
Una herramienta para acortar los links,hacerla más bonitas y fáciles de recordar.
Está basado en el Open Source de kissabe. 
Ver proyecto en Google Code
Al igual que 
Mexame es un proyecto enfocado y dirigido al público de Brasil y Portugal, en especial al emergente y potencial mercado brasileño.
Tengo que recordar [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/0u1YiL65toiExltgH0nK58GmJ_I/0/da"><img src="http://feedads.g.doubleclick.net/~a/0u1YiL65toiExltgH0nK58GmJ_I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0u1YiL65toiExltgH0nK58GmJ_I/1/da"><img src="http://feedads.g.doubleclick.net/~a/0u1YiL65toiExltgH0nK58GmJ_I/1/di" border="0" ismap="true"></img></a></p><p>Ya está online mi nuevo proyecto: 
<a  href="http://www.linkinho.com" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.linkinho.com');" >linkinho.com</a><br />
Una herramienta para acortar los links,hacerla más bonitas y fáciles de recordar.<br />
Está basado en el Open Source de kissabe. 
<a rel="nofollow"  href="http://code.google.com/p/kissabe/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/code.google.com/p/kissabe/');" >Ver proyecto en Google Code</a></p>
<p>Al igual que 
<a  href="http://www.mexame.com" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.mexame.com');" >Mexame</a> es un proyecto enfocado y dirigido al público de Brasil y Portugal, en especial al emergente y potencial mercado brasileño.</p>
<p>Tengo que recordar que mexame tiene unos 2.000 usuarios al día, y es un proyecto que yo he lanzado hace casi un año, apenas hago trabajo de mantenimiento y casi no dedico tiempo y tengo un pequeño nicho de usuarios que usan mi herramienta.<br />
Posiblemente si yo tuviera tiempo o una empresa pudiera explotarla y mantenerla tendría muchísimos más usuarios y se podría monetizar con más rentabilidad que ahora.</p>
<div id="attachment_244" class="wp-caption aligncenter" style="width: 310px">
<a  href="http://www.linkinho.com" onclick="javascript:pageTracker._trackPageview('/external/www.linkinho.com');" ><img class="size-medium wp-image-244" title="Linkinho.com - As Urls mais bonitinhas" src="http://www.pedroventura.com/blog_programacion/wp-content/uploads/2009/09/FireShot-capture-093-Linkinho_com-As-Urls-mais-bonitinhas-www_linkinho_com_index_php-300x140.gif" alt="Linkinho.com - As Urls mais bonitinhas" width="300" height="140" /></a><p class="wp-caption-text">Linkinho.com - As Urls mais bonitinhas</p></div>
<p>Tengo que dar las gracias por el magnifico diseño y la maquetacion a mi amigo Javi, que me ha ayudado en este proyecto!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/09/28/nuevo-proyecto-linkinho/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integracion SMARTY + cakePHP FAIL!!</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/09/28/integracion-smarty-cakephp-problemas/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/09/28/integracion-smarty-cakephp-problemas/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 10:13:30 +0000</pubDate>
		<dc:creator>PedroVentura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[.tpl]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[comunidad]]></category>
		<category><![CDATA[documentación]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[grupos]]></category>
		<category><![CDATA[integrar]]></category>
		<category><![CDATA[plantillas]]></category>
		<category><![CDATA[SMARTY]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=236</guid>
		<description><![CDATA[Hace unas semanas escribía un post sobre la intrépida hazaña que me disponía a realizar:
 integrar smarty en cakephp.
Tarea que tampoco es tan complicada ya que hay un buen manual en la web oficial.
Si queréis verlo este es el link: 
the Bakery: smarty + cakePHP, pero es algo que realmente no recomienzo que hagáis. 
El [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/iwdZQCRp9lMXTHJckLv0YbPVJPU/0/da"><img src="http://feedads.g.doubleclick.net/~a/iwdZQCRp9lMXTHJckLv0YbPVJPU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/iwdZQCRp9lMXTHJckLv0YbPVJPU/1/da"><img src="http://feedads.g.doubleclick.net/~a/iwdZQCRp9lMXTHJckLv0YbPVJPU/1/di" border="0" ismap="true"></img></a></p><p>Hace unas semanas escribía un post sobre la intrépida hazaña que me disponía a realizar:
<a  href="http://www.pedroventura.com/blog_programacion/2009/07/21/cakephp-smarty-primeros-pasos/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.pedroventura.com/blog_programacion/2009/07/21/cakephp-smarty-primeros-pasos/');" > integrar smarty en cakephp</a>.<br />
Tarea que tampoco es tan complicada ya que hay un buen manual en la web oficial.<br />
Si queréis verlo este es el link: 
<a  href="http://bakery.cakephp.org/articles/view/smarty-view-for-1-2" rel="nofollow" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/bakery.cakephp.org/articles/view/smarty-view-for-1-2');" >the Bakery: smarty + cakePHP</a>, pero es algo que realmente no recomienzo que hagáis. </p>
<p>El problema no viene por la integración sino porque no hay mucha documentación e integrar los helpers, components,y demás<br />
script que hay desarrollados es casi imposible porque muchos están obsoletos o no están hechos para las plantillas de SMARTY y es imposible adaptarlos.</p>
<p>Después unas semanas desarrollando el código me he tenido que parar y preguntar a otros programadores de cakephp para tener algo de feedback y otras opiniones:</p>
<p>
<a  href="http://groups.google.com/group/cakephp-esp/browse_thread/thread/57594ee296eb2ce5/524cda1bc4abbf6e#524cda1bc4abbf6e" target="_blank" rel="nofollow" onclick="javascript:pageTracker._trackPageview('/external/groups.google.com/group/cakephp-esp/browse_thread/thread/57594ee296eb2ce5/524cda1bc4abbf6e?524cda1bc4abbf6e');" >Cakephp en Español grupo en Google</a></p>
<p>y en la web oficial de cakephp&#8230;la gente no tiene ni idea.<br />
Escribí una pregunta hace un tiempo y la gente no sabe/no contesta&#8230;.<br />

<a  href="http://bakery.cakephp.org/articles/view/smarty-view-for-1-2#comment-5031 " target="_blank" rel="nofollow" onclick="javascript:pageTracker._trackPageview('/external/bakery.cakephp.org/articles/view/smarty-view-for-1-2?comment-5031 ');" >http://bakery.cakephp.org/articles/view/smarty-view-for-1-2#comment-5031</a> </p>
<p>Uno de los desarrolladores principales de cakephp en la web oficial me comenta lo siguiente:</p>
<p><em>&#8220;CakePHP is awesome.  I&#8217;ve never used SMARTY, but I&#8217;ve heard of some people integrating it.  My ajax validation component was never completely finished and uses deprecated methods.  I really haven&#8217;t found the time to update it.&#8221;</em></p>
<p>Conclusión: aunque las plantillas de cakephp sean igual que todos los framework, muy básicas y su engine no se parezca ni de lejos a SMARTY, es necesario trabajar con ellas.</p>
<p>Otro dato que tengo que sugerir es que si queréis usar cakephp y necesitáis ayuda ir al grupo de cakephp en Español que he indicado anteriormente. Es el único grupo, foro o site que he encontrado en el que me han ayudado y respondido con bastante rapidez, la comunidad de programadores es bastante buena.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/09/28/integracion-smarty-cakephp-problemas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bucle foreach en SMARTY</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/09/04/bucle-foreach-smarty/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/09/04/bucle-foreach-smarty/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 10:54:45 +0000</pubDate>
		<dc:creator>PedroVentura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[arrays]]></category>
		<category><![CDATA[bucle]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[foreach]]></category>
		<category><![CDATA[multidimesionales]]></category>
		<category><![CDATA[SMARTY]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=205</guid>
		<description><![CDATA[Los array que te devuelve CakePHP después de usar un método como Paginate() o FindAll() son multidimensionales y los que uséis SMARTY y paséis directamente el resultado del array al tpl os puede venir bien usar varios foreach encadenados para tratar la información del array.
 

{foreach from=$test key=&#34;key1&#34; item=&#34;val1&#34;}
  {foreach from=$val1 key=&#34;key2&#34; item=&#34;val2&#34;}
   [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/cnVRvyHkZYJG4HLoMM6wae6agwA/0/da"><img src="http://feedads.g.doubleclick.net/~a/cnVRvyHkZYJG4HLoMM6wae6agwA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/cnVRvyHkZYJG4HLoMM6wae6agwA/1/da"><img src="http://feedads.g.doubleclick.net/~a/cnVRvyHkZYJG4HLoMM6wae6agwA/1/di" border="0" ismap="true"></img></a></p><p>Los array que te devuelve CakePHP después de usar un método como Paginate() o FindAll() son multidimensionales y los que uséis SMARTY y paséis directamente el resultado del array al tpl os puede venir bien usar varios foreach encadenados para tratar la información del array.<br />
 </p>
<pre class="brush: plain;">
{foreach from=$test key=&quot;key1&quot; item=&quot;val1&quot;}
  {foreach from=$val1 key=&quot;key2&quot; item=&quot;val2&quot;}
    {foreach from=$val2 key=&quot;key3&quot; item=&quot;val3&quot;}
       ...
    {/foreach}
  {/foreach}
{/foreach}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/09/04/bucle-foreach-smarty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>comunidad CakePHP</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/09/04/comunidad-cakephp/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/09/04/comunidad-cakephp/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 10:26:00 +0000</pubDate>
		<dc:creator>PedroVentura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Comentarios]]></category>
		<category><![CDATA[comunidad]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[programdores]]></category>
		<category><![CDATA[reflexiones]]></category>
		<category><![CDATA[trabajo]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=218</guid>
		<description><![CDATA[Después de un mes de trabajo y buscándome la vida personalizando la paginación que viene por defecto en CakePHP he llegado a la conclusión que la comunidad de CakePHP es una comunidad que no entiende mucho y que no hay muchos profesionales que realmente entiendan y controlen a la perfección el core. La mayoría de [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/g24Bss6-zkTew3UHsWdkz84S9pU/0/da"><img src="http://feedads.g.doubleclick.net/~a/g24Bss6-zkTew3UHsWdkz84S9pU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/g24Bss6-zkTew3UHsWdkz84S9pU/1/da"><img src="http://feedads.g.doubleclick.net/~a/g24Bss6-zkTew3UHsWdkz84S9pU/1/di" border="0" ismap="true"></img></a></p><p>Después de un mes de trabajo y buscándome la vida personalizando la paginación que viene por defecto en CakePHP he llegado a la conclusión que la comunidad de CakePHP es una comunidad que no entiende mucho y que no hay muchos profesionales que realmente entiendan y controlen a la perfección el core. La mayoría de la gente tiene un perfil parecido al mio, gente que está empezando y que no controlan mucho y si conocen algo no lo dicen.</p>
<p>Por ejemplo, necesitaba ayuda para personalizar la paginación de CakePHP porque la que viene con el framework es muy genérica y la funcionalidad y productividad a nivel de SEO es nula.<br />
Después de casi 15 días que colgué mi pregunta en el foro Oficial de CakePHP nadie ha respondido!!.</p>
<p><a rel="nofollow" href="http://bakery.cakephp.org/articles/view/custom-urls-from-the-site-root#comment-4898" target="_blank"><br />
http://bakery.cakephp.org/articles/view/custom-urls-from-the-site-root#comment-4898<br />
</a><br />
Al igual que otros programadores, que o no saben o no contestan!<br />
<a rel="nofollow" href="http://cricava.com/blogs/index.php?blog=6&amp;title=pagination-with-custom-find-types-in-cak&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1" target="_blank"><br />
http://cricava.com/blogs/index.php?blog=6&amp;title=pagination-with-custom-find-types-in-cak&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1<br />
</a><br />
Vamos que por lo que veo hay mucho &#8220;Listillo&#8221; con esto de CakePHP y me está defraudando un poco la comunidad de este framework, es poco abierta, a pesar de que la documentación es más o menos buena, en general te tienes que buscar mucho la vida, cosa que está genial para desenvolverte en el uso de este framework pero no puedes comparar tu desarrollo con los de otros programadores para saber si se podría hacer de otra manera mas sencilla o saber si tu desarrollo es el mejor, por lo general los grandes desarrollos y los desarrollos fundamentales los vais a tener que analizar y programar vosotros mismos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/09/04/comunidad-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial login externo usando API de Google – 2 -</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/07/31/tutorial-login-externo-usando-api-de-google-2/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/07/31/tutorial-login-externo-usando-api-de-google-2/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 08:04:52 +0000</pubDate>
		<dc:creator>PedroVentura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[ejemplo]]></category>
		<category><![CDATA[externo]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[métodos]]></category>
		<category><![CDATA[prueba]]></category>
		<category><![CDATA[SAML]]></category>
		<category><![CDATA[Security Assertion Markup Language]]></category>
		<category><![CDATA[Sing-on]]></category>
		<category><![CDATA[SSO]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=188</guid>
		<description><![CDATA[Ya he explicado en un post anterior las diferentes versiones que tiene la API de Google para realizar login externos.
A mi me llevó mucho tiempo de investigación para documentarme y realizar pruebas con cada tipo de login.
Ni siquiera en los grupos de Google fueron capaces de ayudarme: 
Login Users with Google Apps Mensajes.
Al final llegue [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/zGXz007_lTOWTN2kamngofaOETo/0/da"><img src="http://feedads.g.doubleclick.net/~a/zGXz007_lTOWTN2kamngofaOETo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/zGXz007_lTOWTN2kamngofaOETo/1/da"><img src="http://feedads.g.doubleclick.net/~a/zGXz007_lTOWTN2kamngofaOETo/1/di" border="0" ismap="true"></img></a></p><p>Ya he explicado en un post anterior las diferentes versiones que tiene la API de Google para realizar login externos.<br />
A mi me llevó mucho tiempo de investigación para documentarme y realizar pruebas con cada tipo de login.</p>
<p>Ni siquiera en los grupos de Google fueron capaces de ayudarme: 
<a rel="nofollow"  href="http://www.google.com/support/forum/p/Google+Apps/thread?tid=6e64f2d36fa38702&amp;hl=en" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.google.com/support/forum/p/Google+Apps/thread');" >Login Users with Google Apps Mensajes.</a></p>
<p>Al final llegue a descubrir que el que necesitaba era el método Sing-on (SSO) o Security Assertion Markup Language (SAML).</p>
<p>NOTA1: Antes de copiar el código tenéis que verificar si es el tipo de Login que necesitáis.<br />
Este tipo de login no vale para las versiones standard, y si tenéis esa versión deberéis probar con otro tipo.</p>
<p>NOTA2: Antes de nada tenéis que documentaros y ver los tipos de login que ofrece la API de Google en mi antiguo post: 
<a  href="http://www.pedroventura.com/blog_programacion/2009/06/23/login-externo-usando-api-de-google-apps/" onclick="javascript:pageTracker._trackPageview('/external/www.pedroventura.com/blog_programacion/2009/06/23/login-externo-usando-api-de-google-apps/');" >tutorial login externo usando API de Google</a></p>
<p>Código para realizar login con Sign-on SSO</p>
<blockquote><p>descarga el código fuente aquí:</p>
<p>
<a  href="http://www.pedroventura.com/blog_programacion/archivos/ejemplo_saml_login.rar" onclick="javascript:pageTracker._trackPageview('/external/www.pedroventura.com/blog_programacion/archivos/ejemplo_saml_login.rar');" >Ejemplo Completo Login Google Apps con SSO</a>
</p></blockquote>
<p>Gracias a Gon que me estuvo ayudando a mi I+D <img src='http://www.pedroventura.com/blog_programacion/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/07/31/tutorial-login-externo-usando-api-de-google-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Una aplicación, multiples bases de datos CakePHP</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/07/28/una-aplicacion-multiples-bases-datos-cakephp/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/07/28/una-aplicacion-multiples-bases-datos-cakephp/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 08:21:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[bases]]></category>
		<category><![CDATA[BBDD]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[constantes]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[multiples]]></category>
		<category><![CDATA[urls]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=175</guid>
		<description><![CDATA[Tengo que lanzar un web para varios países y aprovecharé la potencia de CakePHP para realizar una sola plataforma con varias bases de datos. Cada base de datos almacenará el contenido local de cada web.
Lo que he hecho es en /(app)/config/bootstrap.php incluir mi código de configuración personalizado. 
Ver funcionalidad del boostrap
Para determinar y estandarizar la [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/TanN06ORCReFKHSjmHkRnhg8zkw/0/da"><img src="http://feedads.g.doubleclick.net/~a/TanN06ORCReFKHSjmHkRnhg8zkw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/TanN06ORCReFKHSjmHkRnhg8zkw/1/da"><img src="http://feedads.g.doubleclick.net/~a/TanN06ORCReFKHSjmHkRnhg8zkw/1/di" border="0" ismap="true"></img></a></p><p>Tengo que lanzar un web para varios países y aprovecharé la potencia de CakePHP para realizar una sola plataforma con varias bases de datos. Cada base de datos almacenará el contenido local de cada web.</p>
<p>Lo que he hecho es en<strong> /(app)/config/bootstrap.php</strong> incluir mi código de configuración personalizado. 
<a rel="nofollow"  href="http://book.cakephp.org/view/48/Bootstrapping-CakePHP" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/book.cakephp.org/view/48/Bootstrapping-CakePHP');" >Ver funcionalidad del boostrap</a></p>
<p>Para determinar y estandarizar la url que me llega realizo la siguiente comprobación</p>
<pre class="brush: php;">
$datos_dominio = explode(&quot;.&quot;,$_SERVER['HTTP_HOST']);
if (in_array(&quot;www&quot;,$datos_dominio))
{
$dominio ='';
}
else
{
$dominio = 'www.';
}

for($i=0;$i &lt; count($datos_dominio);$i++)
{
if($i == 0)
{
$dominio .= $datos_dominio[$i];
}
else
{
$dominio .= '.'.$datos_dominio[$i];
}
}
?&gt;
</pre>
<p>Con el dominio que he obtenido lo paso por un switch case y la variable final con el valor de la base de datos la guardo en una constante que usaré mas adelante.</p>
<blockquote><p>switch ($dominio)<br />
{<br />
case &#8216;www.cake.loc&#8217;:<br />
$bbdd = &#8216;default&#8217;;<br />
break;<br />
case &#8216;www.cake.loc.uk&#8217;:<br />
$bbdd = &#8216;default_uk&#8217;;<br />
break;<br />
case &#8216;www.cake.loc.mx&#8217;:<br />
$bbdd = &#8216;default_mx&#8217;;<br />
break;<br />
default: $bbdd = &#8216;default&#8217;;<br />
}<br />
<strong>define(&#8217;BBDD&#8217;,$bbdd);</strong></p></blockquote>
<p>Posteriormente en mi modelo seleccionaré la base de datos que se ha guardado automaticamente en la <strong>constante BBDD</strong></p>
<p>Ejemplo de mi <strong>/(app)/models/contenido.php</strong></p>
<blockquote><p>class Contenido extends AppModel<br />
{<br />
var $name = &#8216;mos_content&#8217;; // nombre de la tabla que estoy usando<br />
var $useDbConfig = BBDD; // conexión a la base de datos que he obtenido automaticamente<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/07/28/una-aplicacion-multiples-bases-datos-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP + SMARTY primeros pasos</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/07/21/cakephp-smarty-primeros-pasos/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/07/21/cakephp-smarty-primeros-pasos/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 14:49:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[controlador]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[modelo]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Patrón]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=158</guid>
		<description><![CDATA[Voy a suponer que ya habéis instalado el framework.
Los pasos para integrar SMARTY son:
1. Descargar una versión de la clase de SmartyView aquí: 
http://cakeforge.org/snippet/detail.php?type=snippet&#38;id=6 y guardar la clase de SmartyView en /(app)/views/smarty.php
2. 
Descargar SMARTY y copiar todo el contenido de la carpeta libs y pegarlo en /(app)/vendor/smarty/
3. Crear las carpetas &#8220;smarty/compile&#8221; y &#8220;smarty/cache&#8221; en el [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/8MeYPIB8ajWooROyOJx_OukZg6Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/8MeYPIB8ajWooROyOJx_OukZg6Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/8MeYPIB8ajWooROyOJx_OukZg6Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/8MeYPIB8ajWooROyOJx_OukZg6Q/1/di" border="0" ismap="true"></img></a></p><p>Voy a suponer que ya habéis instalado el framework.<br />
Los pasos para integrar SMARTY son:</p>
<p>1. Descargar una versión de la clase de SmartyView aquí: 
<a rel="nofollow"  href="http://cakeforge.org/snippet/detail.php?type=snippet&amp;id=6" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/cakeforge.org/snippet/detail.php');" >http://cakeforge.org/snippet/detail.php?type=snippet&amp;id=6</a> y guardar la clase de SmartyView en <strong>/(app)/views/smarty.php</strong></p>
<p>2. 
<a title="SMARTY motor de plantillas" rel="nofollow"  href="http://smarty.net/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/smarty.net/');" >Descargar SMARTY</a> y copiar todo el contenido de la carpeta <strong>libs</strong> y pegarlo en<strong> /(app)/vendor/smarty/</strong></p>
<p>3. Crear las carpetas &#8220;smarty/compile&#8221; y &#8220;smarty/cache&#8221; en el directorio <strong>/(app)/tmp</strong> y darle permisos (777)</p>
<p>4. Crea tu propio app_controller.php en la carpeta <strong>/(app)/controllers/app_controller.php</strong></p>
<blockquote>
<p style="padding-left: 30px;">class AppController extends Controller<br />
{<br />
var $view = &#8216;Smarty&#8217;;<br />
//var $helpers = array(&#8217;SmartyHtml&#8217;,'SmartySession&#8217;,'form&#8217;); de momento no voy a usar los helpers de smarty<br />
}</p></blockquote>
<p>5. He creado un controlador de ejemplo:<strong> /(app)/controllers/prueba_controller.php</strong></p>
<blockquote><p>class PruebaController extends AppController{<br />
var $uses = null;  // para no usar tablas<br />
//var $autoRender = false;</p>
<p style="padding-left: 30px;">function index()<br />
{<br />
// Esta era mi gran duda, como asignar las variables de php a smarty , pues se hace así:<br />
$this-&gt;set(&#8217;prueba&#8217;, &#8216;Hola Mundo&#8217;);<br />
}</p>
<p>}</p></blockquote>
<p>6. Mi vista de ejemplo usando SMARTY. /<strong>(app)/views/prueba/index.tpl</strong></p>
<blockquote><p>El resultado de la variable es: {$prueba}<br />
{$html-&gt;link(&#8217;Pedro es muy guapoo!&#8217;, &#8216;http://www.pedroventura.com&#8217;)}</p></blockquote>
<p>El siguiente paso es entender el funcionamiento de los Helpers e instalar los Helpers compatibles con SMARTY.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/07/21/cakephp-smarty-primeros-pasos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CakePHP Rocks my world!!</title>
		<link>http://www.pedroventura.com/blog_programacion/2009/07/21/cakephp-rocks-my-world/</link>
		<comments>http://www.pedroventura.com/blog_programacion/2009/07/21/cakephp-rocks-my-world/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 14:40:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[controlador]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[modelo]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Patrón]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=162</guid>
		<description><![CDATA[Después de analizar y haber probado dos de los grandes Frameworks de trabajo y uno que puede convertirse en una genial herramienta en unos años, he decidido dar el siguiente paso y para los desarrollo en mi nueva etapa profesional voy a usar CakePHP.
Mis valoraciones sobre los Frameworks y porque he usado CakePHP:
1. 
Zend Framework: [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/toHTeB6XfiVdFYLssunjNOVG2_A/0/da"><img src="http://feedads.g.doubleclick.net/~a/toHTeB6XfiVdFYLssunjNOVG2_A/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/toHTeB6XfiVdFYLssunjNOVG2_A/1/da"><img src="http://feedads.g.doubleclick.net/~a/toHTeB6XfiVdFYLssunjNOVG2_A/1/di" border="0" ismap="true"></img></a></p><p>Después de analizar y haber probado dos de los grandes Frameworks de trabajo y uno que puede convertirse en una genial herramienta en unos años, he decidido dar el siguiente paso y para los desarrollo en mi nueva etapa profesional voy a usar CakePHP.</p>
<p>Mis valoraciones sobre los Frameworks y porque he usado CakePHP:</p>
<p>1. 
<a rel="nofollow"  href="http://framework.zend.com/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/framework.zend.com/');" >Zend Framework</a>: Es el más extendido y el más usado, el que más módulos y complementos tiene y por ello el más complicado para aprender. El tiempo a dedicar a aprender ZF es mucho mayor que a aprender cualquier otro. Las relaciones con las base de datos y los elementos HTML son algo más complejas que CakePHP pero dan más rendimiento.<br />
2. 
<a rel="nofollow"  href="http://cakephp.org/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/cakephp.org/');" >CakePHP</a>: otro framework que usa el patrón de diseño de MVC. El tiempo para aprender es menor. Las conexiones a la base de datos son mas sencillas y la nomenclatura que se utiliza para los controladores, los modelos, las vistas y las tablas son mas intuitivas. La comunidad y la documentación es menor que ZF pero con el tiempo se pondrá al mismo nivel.<br />
3. 
<a rel="nofollow"  href="http://www.kohanaphp.com/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.kohanaphp.com/');" >Kohana</a>: El más simple, sencillo y rápido de usar. No tiene muchos módulos, ni complementos. Su comunidad así como su documentación está empezando a crecer, aunque el proyecto no puede tener éxito o puede darse el caso que se quede estancado.</p>
<p>He escogido CakePHP porque es el framework que estoy seguro que siempre va a tener documentación y una comunidad de desarrolladores grande. La relación entre la potencia del framework y la velocidad para aprenderlo es la que más me atrae.</p>
<p>No he tenido ningún problema para la instalación del framework y configuración de la base de datos. Pero si para integrar las plantillas de smarty para ver como funciona la asignación de las variables php a las plantillas .tpl</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/2009/07/21/cakephp-rocks-my-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
