<?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>danieldomaza, autor en KumbiaPHP Framework PHP en español</title>
	<atom:link href="https://kumbiaphp.com/blog/author/danieldomaza/feed/" rel="self" type="application/rss+xml" />
	<link>https://kumbiaphp.com/blog/author/danieldomaza/</link>
	<description>Web &#38; app MVC PHP framework</description>
	<lastBuildDate>Fri, 22 Dec 2017 12:09:01 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://kumbiaphp.com/blog/wp-content/uploads/2016/01/250-150x150.png</url>
	<title>danieldomaza, autor en KumbiaPHP Framework PHP en español</title>
	<link>https://kumbiaphp.com/blog/author/danieldomaza/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">123854898</site>	<item>
		<title>iCal con Kumbiaphp beta2</title>
		<link>https://kumbiaphp.com/blog/2013/10/05/ical-con-kumbiaphp-beta2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ical-con-kumbiaphp-beta2</link>
					<comments>https://kumbiaphp.com/blog/2013/10/05/ical-con-kumbiaphp-beta2/#comments</comments>
		
		<dc:creator><![CDATA[danieldomaza]]></dc:creator>
		<pubDate>Sat, 05 Oct 2013 18:57:26 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales y screencast]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[ical]]></category>
		<guid isPermaLink="false">http://www.kumbiaphp.com/blog/?p=654</guid>

					<description><![CDATA[<p>Buen día, Este es mi primer post para la comunidad y espero les sirva: Voy a explicar como implementar&#8230;</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2013/10/05/ical-con-kumbiaphp-beta2/">iCal con Kumbiaphp beta2</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Buen día,</p>
<p>Este es mi primer post para la comunidad y espero les sirva:</p>
<p>Voy a explicar como implementar un <strong><span style="color: #000000;">iCal  jQuery</span></strong> (Calendario de eventos con estilo similar al del iphone) y poblarlo con los datos que tengo en <strong>MySQL</strong> a través de <strong>Kumbiaphp</strong> Framework:</p>
<p>Lo primero que deben hacer, obviamente después de tener configurado <strong>Kumbiaphp Beta2</strong>, es descargar el <strong>iCal</strong> desde <a href="https://github.com/MrHus/jquery-monthly-ical">aquí</a> .  Los archivos <strong>.js</strong> se ubican en <strong>/default/app/public/javascript</strong>, el archivo .<strong>css</strong> se ubica en<strong> /default/app/public/css.</strong></p>
<p>Creamos una tabla en <strong>MySQL</strong> que va a ser nuestro insumo de datos para poblar el calendario (supongo hasta aquí que ya saben que es un modelo, como se configura la base de datos y sus convenciones) :</p>
<pre><code class="language-sql">
CREATE TABLE IF NOT EXISTS `agenda` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `fecha` date NOT NULL,
    `hora_inicio` time NOT NULL,
    `hora_fin` time NOT NULL,
    `producto_id` int(11) NOT NULL,
    `cliente_id` int(11) NOT NULL,
    `estado` varchar(10) NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT= 8;
</code></pre>
<p>Si se fijan,  la creación de la tabla está asociada a dos tablas que son cliente y producto.</p>
<p>En la clase modelo <strong>agenda.php </strong>se crea<strong> </strong>una función:</p>
<pre><code class="language-php">
public function getCalendario() {
    $sql = &quot;SELECT fecha as date, producto.nombre as title,
       CONCAT(hora_inicio, &#039; hasta &#039;, hora_fin, &#039; &#039;, cliente.nombres, &#039; &#039;, cliente.apellidos) as &#039;desc&#039;
       FROM agenda
       INNER JOIN cliente ON (agenda.cliente_id=cliente.id)
       INNER JOIN producto ON (agenda.producto_id=producto.id)&quot;;

    return $this-&gt;find_all_by_sql($sql);
}
</code></pre>
<p>Cómo pueden ver hay un <strong>join</strong> a dos tablas asociadas.</p>
<p>En el controlador <strong>agenda_controller.php</strong> se crea una función que llame la consulta creada en el modelo y lo traiga en un <strong>array:</strong></p>
<pre><code class="language-php">
public function verCalendario() {
    $this-&gt;calendario = Load::model(&#039;agenda&#039;)-&gt;getCalendario();
}
</code></pre>
<p>Luego en el directorio  <strong>/default/app/view/_shared/partials </strong>se crea un <strong>partial, </strong>decidí hacer un partial para reutilizarlo en caso de que necesite incluirlo en otras páginas.</p>
<pre><code class="language-php">
&lt;script type = &quot;text/javascript&quot;&gt;
    $(document).ready(function () {
        $(&quot;#ical&quot;).ical({
            daynames: [&#039;Dom&#039;, &#039;Lun&#039;, &#039;Mar&#039;, &#039;Mie&#039;, &#039;Jue&#039;, &#039;Vie&#039;, &#039;Sab&#039;],
            //startOnSunday: true,
            eventdates: &lt;?php echo json_encode($Model); ?&gt;
        });
    });
&lt;/script&gt;
&lt;div id=&quot;ical&quot;&gt;&lt;/div&gt;
</code></pre>
<p>Como ven estoy usando la función<strong> json_encode</strong> que me va a arrojar un formato como este:</p>
<pre><code>
eventdates: [{&quot;date&quot;: &quot;2009-03-21&quot;, &quot;title&quot;: &quot;My birthday&quot;, &quot;desc&quot;: &quot;Its my birthday!&quot;},
{&quot;date&quot;: &quot;yyyy-01-01&quot;, &quot;title&quot;: &quot;New Year&quot;, &quot;desc&quot;: &quot;Its a new year!&quot;}]</code></pre>
<p>Los alias que utilicé en la consulta del modelo (<strong>date,title,desc</strong>) están asociados a este formato.</p>
<p>Y por último se implementa la vista <strong>verCalendario.phtml</strong> con el siguiente código:</p>
<pre><code class="language-php">
&lt;?php
echo Tag::js(&#039;jquery-1.3.2.min&#039;);
echo Tag::js(&#039;jquery-ical&#039;);
Tag::css(&#039;master&#039;);
?&gt;
&lt;?php echo View::content(); ?&gt;
&lt;?php echo View::partial(&#039;ical/script&#039;, false, array(&#039;Model&#039; =&gt; $calendario)); ?&gt;</code></pre>
<p>Y esto es todo, espero sea de utilidad y si tienen aportes, mejoras o recomendaciones <strong>¡bien recibidas sean!</strong></p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2013/10/05/ical-con-kumbiaphp-beta2/">iCal con Kumbiaphp beta2</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2013/10/05/ical-con-kumbiaphp-beta2/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">654</post-id>	</item>
	</channel>
</rss>
