<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>En Manos de Nadie &#187; Symfony</title>
	<atom:link href="http://www.enmanosdenadie.com.ar/category/symfony/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.enmanosdenadie.com.ar</link>
	<description>Software libre, diseño web y seguridad informática.</description>
	<lastBuildDate>Mon, 21 Nov 2011 17:57:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Symfony: Paginación con sfPropelPager</title>
		<link>http://www.enmanosdenadie.com.ar/2009/06/symfony-paginacion-con-sfpropelpager/</link>
		<comments>http://www.enmanosdenadie.com.ar/2009/06/symfony-paginacion-con-sfpropelpager/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 20:33:42 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Symfony]]></category>
		<category><![CDATA[symfony paginación pager sfPropelPager]]></category>

		<guid isPermaLink="false">http://www.enmanosdenadie.com.ar/?p=160</guid>
		<description><![CDATA[Hola, luego de casi 3 días de lectura extrema e intentos fallidos, logré dominar la técnica de paginar elementos de un sitio mediante sfPropelPager. En el controlador tenemos la siguiente acción: public function executeMostrar()    { //Defino un paginador para la clase &#8216;Mensaje&#8217; . Quiero 10 resultados por página. $pager = new sfPropelPager(&#8216;Mensaje&#8217;, 10); //Defino [...]]]></description>
			<content:encoded><![CDATA[<p>Hola, luego de casi 3 días de lectura extrema e intentos fallidos, logré dominar<br />
la técnica de paginar elementos de un sitio mediante <strong>sfPropelPager</strong>.<br />
En el <strong>controlador</strong> tenemos la siguiente <strong>acción</strong>:</p>
<p style="padding-left: 30px;"><span style="color: #333333;"> public function executeMostrar()    {<br />
<span style="color: #999999;"> //Defino un paginador para la clase &#8216;Mensaje&#8217; . Quiero 10 resultados por página.</span><br />
$pager = new sfPropelPager(&#8216;Mensaje&#8217;, 10);<br />
<span style="color: #999999;"> //Defino &#8216;criteria&#8217;, en este caso traigo TIPO=&#8217;informes&#8217; y ordenados<br />
de mayor a menor por ID</span><br />
$c = new Criteria();<br />
$c-&gt;add(MensajePeer::TIPO, &#8216;informe&#8217;, Criteria::LIKE);<br />
$c-&gt;addDescendingOrderByColumn(MensajePeer::ID);<br />
$pager-&gt;setCriteria($c);<br />
<span style="color: #999999;"> //Seteo la primera página a uno</span><br />
$pager-&gt;setPage($this-&gt;getRequestParameter(&#8216;page&#8217;, 1));<br />
$pager-&gt;init();<br />
<span style="color: #999999;"> // Preparo la información para usarla en la vista.</span><br />
$this-&gt;pager = $pager;<br />
}</span></p>
<p><span style="color: #333333;">Luego, en la <strong>vista</strong> debo reemplazar en el &#8220;foreach&#8221; con el que venía listando sin paginar,  la variable que traía los datos desde el controlador por  el nuevo paginador, de esta manera:</span></p>
<p style="padding-left: 30px;"><span style="color: #333333;">&lt;?php foreach(<strong> $pager-&gt;getResults()</strong> as $elemento): ?&gt;<br />
&lt;?php  echo &#8220;El nombre de este elemento es:&#8221;.$elemento-&gt;getNombre(); ?&gt;<br />
&lt;?php endforeach; ?&gt;</span></p>
<p>Para mostrar los números y las flechas de la paginación, usamos este código:</p>
<p style="padding-left: 30px;"><span style="color: #333333;"> &lt;?php if ($pager-&gt;haveToPaginate()): ?&gt;<br />
&lt;?php echo link_to(&#8216;&amp;laquo;&#8217;, &#8216;log/mostrar?page=&#8217;.$pager-&gt;getFirstPage()) ?&gt;<br />
&lt;?php echo link_to(&#8216;&amp;lt;&#8217;, &#8216;log/mostrar?page=&#8217;.$pager-&gt;getPreviousPage()) ?&gt;<br />
&lt;?php $links = $pager-&gt;getLinks();<br />
foreach ($links as $page): ?&gt;<br />
&lt;?php echo ($page == $pager-&gt;getPage()) ? $page : link_to($page, &#8216;log/mostrar?page=&#8217;.$page) ?&gt;<br />
&lt;?php if ($page != $pager-&gt;getCurrentMaxLink()): ?&gt; &#8211; &lt;?php endif ?&gt;<br />
&lt;?php endforeach ?&gt;<br />
&lt;?php echo link_to(&#8216;&amp;gt;&#8217;, &#8216;log/mostrar?page=&#8217;.$pager-&gt;getNextPage()) ?&gt;<br />
&lt;?php echo link_to(&#8216;&amp;raquo;&#8217;, &#8216;log/mostrar?page=&#8217;.$pager-&gt;getLastPage()) ?&gt;<br />
&lt;?php endif ?&gt;</span></p>
<p>No te olvides de reemplazar &#8216;Módulo/acción&#8217; (en el ejemplo <strong>log/mostrar</strong>) con tu módulo y tu acción.<br />
Queda muy bien mostrar un encabezado con la información total del listado, así:</p>
<p style="padding-left: 30px;"><span style="color: #333333;">&lt;?php echo $pager-&gt;getNbResults().&#8221; Elementos encontrados. Mostrando resultados desde &#8220;.$pager-&gt;getFirstIndice().&#8221; hasta &#8220;.$pager-&gt;getLastIndice(); ?&gt;</span></p>
<p><span style="color: #333333;">Costó mucho pero quedó funcionando a la perfección.<br />
saludos.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.enmanosdenadie.com.ar/2009/06/symfony-paginacion-con-sfpropelpager/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Symfony:  programando PHP</title>
		<link>http://www.enmanosdenadie.com.ar/2009/06/symfony-programando-php/</link>
		<comments>http://www.enmanosdenadie.com.ar/2009/06/symfony-programando-php/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 17:18:51 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Symfony]]></category>
		<category><![CDATA[symfony php OOP framework mensajes]]></category>

		<guid isPermaLink="false">http://www.enmanosdenadie.com.ar/?p=128</guid>
		<description><![CDATA[Bueno, este post lo voy a ir editando a medida que tenga más cosas útiles de Symfony para compartir. Para los que no lo conocen Symfony es un framework para programar aplicaciones web en PHP5 usando OOP (programación orientada a objetos). # Mostrar mensajes al usuario (por ejemplo, en un formulario avisarle que los datos [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, este post lo voy a ir editando a medida que tenga más cosas útiles de <a href="http://es.wikipedia.org/wiki/Symfony" target="_blank">Symfony</a> para compartir.  Para los que no lo conocen Symfony es un <a href="http://es.wikipedia.org/wiki/Framework" target="_blank">framework</a> para programar aplicaciones web en PHP5 usando <a href="http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos" target="_blank">OOP (programación orientada a objetos)</a>.</p>
<p><span style="color: #3366ff;"># <strong>Mostrar mensajes al usuario</strong></span> (por ejemplo, en un formulario avisarle que los datos ingresados no son correctos)<br />
<strong>en la acción:</strong><br />
<span style="color: #999999;">// cargo un mensaje de error y</span><br />
$this-&gt;getUser()-&gt;setFlash(&#8216;error&#8217;, sprintf(&#8216;Los datos no son v&amp;aacute;lidos.&#8217;));<br />
<span style="color: #999999;"> // vuelvo a la pantalla de login.</span><br />
$this-&gt;forward(&#8216;usuarios&#8217;, &#8216;MostrarForm&#8217;);</p>
<p><strong>en la vista:</strong><br />
<span style="color: #999999;">&lt;!&#8212; Muestro posible mensaje de error &#8211;&gt;</span><br />
&lt;?php if ($sf_user-&gt;hasFlash(&#8216;error&#8217;)): ?&gt;<br />
&lt;span class=&#8221;flash_error&#8221;&gt;&lt;?php echo $sf_user-&gt;getFlash(&#8216;error&#8217;) ?&gt;&lt;/span&gt;<br />
&lt;?php endif; ?&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enmanosdenadie.com.ar/2009/06/symfony-programando-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

