<?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>joomla | www.valeriofinazzo.it</title>
	<atom:link href="http://www.valeriofinazzo.it/wordpress/tag/joomla-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.valeriofinazzo.it/wordpress</link>
	<description>Il sito dell&#039;ingegnere Valerio Finazzo</description>
	<lastBuildDate>Sat, 05 Feb 2022 13:00:01 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.3</generator>
	<item>
		<title>JOOMLA &#8211; TUTORIAL &#8211; CREARE UN COMPONENT &#8211; FRONT-END</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-front-end/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 21:12:59 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=202</guid>

					<description><![CDATA[<p>In questo articolo definiamo la parte pubblica del nostro componente. Essa presenta due punti di accesso, uno che consente di avviare una chat con l&#8217;operatore previa registrazione e una pagina di gestione delle chat accessibile per l&#8217;operatore. Come già visto per il modulo di amministrazione definiamo il file liveassistant.php che costituisce l&#8217;entry point del nostro &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-front-end/" class="more-link">Continua la lettura di <span class="screen-reader-text">JOOMLA &#8211; TUTORIAL &#8211; CREARE UN COMPONENT &#8211; FRONT-END</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-front-end/">JOOMLA – TUTORIAL – CREARE UN COMPONENT – FRONT-END</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: rgb(13, 41, 63); text-align: justify;">In questo articolo definiamo la parte pubblica del nostro componente. Essa presenta due punti di accesso, uno che consente di avviare una chat con l&#8217;operatore previa registrazione e una pagina di gestione delle chat accessibile per l&#8217;operatore.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Come già visto per il modulo di amministrazione definiamo il file liveassistant.php che costituisce l&#8217;entry point del nostro modulo:</p>
<p></p><pre class="crayon-plain-tag">&lt;?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.controller');
$controller = JController::getInstance('LiveAssistant');
$input = JFactory::getApplication()-&gt;input;
$controller-&gt;execute($input-&gt;getCmd('task'));
$controller-&gt;redirect();</pre><p>Il file definisce il controller che viene definito nel file controller.php presente nella stessa directory:</p><pre class="crayon-plain-tag">&lt;?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.controller');
class LiveAssistantController extends JController {
function messages() {      }
function crea()     {     }
function aggiorna() {     }
function invia() {      }
function aggiornaLista() { }
function cancella() {     }
}</pre><p>Nel file definiamo la classe LiveAssistantController che estende la classe JController. I metodi definiti sono privi dell&#8217;implementazione, ognuno potrà scegliere l&#8217;implementazione che più preferisce, sia basata su file system che su base dati. La soluzione prevista salva le chat su file system in formato xml riducendo al minimo l&#8217;accesso al db.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">A questo punto definiamo le view per la parte pubblica e le agganciamo alle voci del menu. Per fare questo è sufficiente aggiungere un file xml nella directory com_liveassistant\site\views\client\tmpl, che definisce il valore della voce del menù:</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;metadata&gt;
&lt;layout title="COM_LIVEASSISTANT_VIEW_DEFAULT_TITLE_CLIENT"&gt;
&lt;message&gt;
&lt;![CDATA[COM_LIVEASSISTANT_VIEW_DEFAULT_TITLE_CLIENT]]&gt;
&lt;/message&gt;
&lt;/layout&gt;
&lt;/metadata&gt;</pre><p>L&#8217;utente potrà aggiungere una voce di menù che punti alla view relativa, stabilendone le regole di accesso. Possiamo rendere l&#8217;esperienza più piacevole per l&#8217;utente realizzando un modulo dedicato.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Come il componente il modulo presenta un file descrittore xml che descrive la struttura del modulo e definisce l&#8217;entry point del modulo, nel nostro caso è il file mod_lvieassistant.php</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">&lt;?</p>
<p></p><pre class="crayon-plain-tag">&lt;xml version="1.0" encoding="utf-8"?&gt;
&lt;extension type="module" version="2.5.0" client="site" method="upgrade"&gt;
&lt;name&gt;mod_liveassistant&lt;/name&gt;
&lt;author&gt;Valerio Finazzo&lt;/author&gt;
&lt;creationDate&gt;Marzo 2014&lt;/creationDate&gt;
&lt;authorEmail&gt; valerio.finazzo@gmail.com&lt;/authorEmail&gt;
&lt;authorUrl&gt;www.valeriofinazzo.it&lt;/authorUrl&gt;
&lt;version&gt;1.0.0&lt;/version&gt;
&lt;files&gt;
&lt;folder&gt;tmpl&lt;/folder&gt;
&lt;folder&gt;assets&lt;/folder&gt;
&lt;folder&gt;language&lt;/folder&gt;
&lt;filename module="mod_liveassistant"&gt;mod_liveassistant.php&lt;/filename&gt;
&lt;filename&gt;mod_liveassistant.xml&lt;/filename&gt;
&lt;filename&gt;index.html&lt;/filename&gt;
&lt;/files&gt;
&lt;config&gt;
&lt;fields name="params"&gt;
&lt;fieldset name="basic"&gt;
&lt;field name="type" type="radio" default="chat" label="tipo modulo"&gt;
&lt;option value="client"&gt;client&lt;/option&gt;
&lt;option value="operatore"&gt;operatore&lt;/option&gt;
&lt;/field&gt;
&lt;/fieldset&gt;
&lt;/fields&gt;
&lt;/config&gt;
&lt;/extension&gt;</pre><p>La sezione config definisce i parametri di configurazione del modulo, nel nostro caso è definito un parametro di tipo radio button che consente di stabilire il tipo di modulo da mostrare. (modulo client o modulo operatore).</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Prossimamente rilascerò il package complessivo LiveAssistant, che comprenderà sia il componente che il modulo.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-front-end%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20FRONT-END" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-front-end%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20FRONT-END" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-front-end%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20FRONT-END" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-front-end%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20FRONT-END" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-front-end%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20FRONT-END" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-front-end%2F&#038;title=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20FRONT-END" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-front-end/" data-a2a-title="JOOMLA – TUTORIAL – CREARE UN COMPONENT – FRONT-END"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-front-end/">JOOMLA – TUTORIAL – CREARE UN COMPONENT – FRONT-END</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>JOOMLA &#8211; TUTORIAL &#8211; CREARE UN COMPONENT &#8211; BACKEND</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-backend/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 21:09:30 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=200</guid>

					<description><![CDATA[<p>Nell&#8217;articolo di oggi realizzeremo il backend del nostro componente, usando il pattern MVC (Model View Controller). Per chi non lo conoscesse si tratta di uno dei pattern più usati nello sviluppo software, che prevede la separazione della logica di business dal modello di rappresentazione dei dati. Nel pattern MVC sono presenti le seguenti 3 componenti software: model &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-backend/" class="more-link">Continua la lettura di <span class="screen-reader-text">JOOMLA &#8211; TUTORIAL &#8211; CREARE UN COMPONENT &#8211; BACKEND</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-backend/">JOOMLA – TUTORIAL – CREARE UN COMPONENT – BACKEND</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: rgb(13, 41, 63); text-align: justify;">Nell&#8217;articolo di oggi realizzeremo il backend del nostro componente, usando il pattern <a style="color: #2675b5;" href="http://it.wikipedia.org/wiki/Model-View-Controller">MVC</a> (Model View Controller). Per chi non lo conoscesse si tratta di uno dei pattern più usati nello sviluppo software, che prevede la separazione della logica di business dal modello di rappresentazione dei dati.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Nel pattern MVC sono presenti le seguenti 3 componenti software:</p>
<ul style="color: rgb(20, 60, 93); text-align: justify;">
<li>model &#8211;&gt; responsabile della gestione del dato (offre i metodi di accesso/modifica al dato)</li>
<li>view    &#8211;&gt; responsabile della rappresentazione del dato</li>
<li>controller  &#8211;&gt; gestisce le richieste degli utenti invocando gli oggetti adatti di volta in volta.</li>
</ul>
<div style="color: rgb(13, 41, 63); text-align: justify;">In Joomla le classi che implementano il pattern MVC sono:</div>
<div style="color: rgb(13, 41, 63); text-align: justify;">
<ul style="color: #143c5d;">
<li>JModel</li>
<li>JView</li>
<li>JController</li>
</ul>
</div>
<p style="color: rgb(13, 41, 63); text-align: justify;">Nel nostro caso il compito del componente di back-end sarà quello di gestire i parametri di configurazione del servizio chat, pertanto realizzeremo i seguenti moduli software:</p>
<ul style="color: rgb(20, 60, 93); text-align: justify;">
<li>un componente Model che offre i servizi di lettura e scrittura sulla tabella descritta nel precedente articolo</li>
<li>un componente View che presenta il dato all&#8217;utente</li>
<li>un componente Controller responsabile di gestire il modello di navigazione e le operazioni richieste dall&#8217;utente</li>
</ul>
<p style="color: rgb(13, 41, 63); text-align: justify;">Per ogni componente Joomla definisce due entrypoint, uno per la parte pubblica del sito e uno per la parte di amministrazione. Per il componente di amministrazione Joomla definisce entry point un file chiamato componentname.php, disponibile nel path administrator/components/com_componentname/componentname.php.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Nel nostro progetto l&#8217;entry point è il file administrator/components/com_liveassistant/liveassistant.php.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">All&#8217;interno di tale file è presente la regola di definizione del controller</p>
<p></p><pre class="crayon-plain-tag">&lt;?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.controller');
$controller = JController::getInstance('LiveAssistant');
$controller-&gt;execute( JRequest::getCmd('task') );
$controller-&gt;redirect();</pre><p>La prima chiamata impedisce l&#8217;accesso diretto al file, le chiamate successive definiscono il controller e la regola di redirect in base al parametro task. Joomla cerchà la definizione del controller in un file controller.php presente nella stessa directory dell&#8217;entry point. In tale directory viene definita la classe LiveAssistantController che estende JController</p><pre class="crayon-plain-tag">&lt;?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.controller');
class LiveAssistantController extends JController {    }</pre><p>In assenza di un task specifico il controller invocherà il metodo display, in modo da invocare la view responsabile della visualizzazione del dato. Joomla cerca le view disponibili nel path component/com_[component_name]/views/[name of view]/, nel nostro caso component/com_liveassistant/views/liveassistant/. Le view sono definite in file view.[view_mode].php, dove il view_mode indica il formato della view, nel nostro caso html.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">La nostra view contiene il seguente testo</p>
<p></p><pre class="crayon-plain-tag">&lt;?php
defined('_JEXEC') or die('Restricted access');
jimport( 'joomla.application.component.view');
class LiveAssistantViewLiveAssistant extends JView
{
function display($tpl = null)
{
$this-&gt;addToolBar();
$this-&gt;setDocument();
$jinput = JFactory::getApplication()-&gt;input;
$task = $jinput-&gt;get('task', '', '');
if ($task == 'save') {
$model = $this-&gt;getModel();
$model-&gt;saveItem($jinput);
}
$this-&gt;item = $this-&gt;get('Item');
parent::display($tpl);
}
protected function addToolBar()
{
JToolBarHelper::title(JText::_('COM_LIVEASSISTANT_MANAGER'), 
'liveassistant');
}
protected function setDocument()
{
$document = JFactory::getDocument();
$document-&gt;setTitle(JText::_('COM_LIVEASSISTANT_ADMINISTRATION'));
}
}</pre><p>La View è responsabile di costruire la pagina, in particolare essa aggiunge il titolo alla pagina e alla toolbar e gestisce l&#8217;aggiornamento dei parametri della chat. Essa invoca il file tmpl/default.php responsabile di mostrare i dati e i pulsanti per aggiornare i dati. Inoltre nella view sono visibili le chiamata al model. Come si può vedere il model non è espressamente indicato, ma è una classe vhe viene inizializzata cercano la classe LiveAssistantModelLiveAssistant che estende la classe JModel. Tale classe fornisce i metodi di lettura e scrittura al db, come si può vedere nell&#8217;estratto</p><pre class="crayon-plain-tag">&lt;?php
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
class LiveAssistantModelLiveAssistant extends JModel
{
function __construct()
{
parent::__construct();
}
function getItem()
{
if (empty( $this-&gt;_data )) {
$query = ' SELECT * FROM #__liveassistant_params ';
$this-&gt;_db-&gt;setQuery( $query );
$this-&gt;_data = $this-&gt;_db-&gt;loadObject();
}
return $this-&gt;_data;
}</pre><p>&nbsp;</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Nel prossimo articolo realizzeremo la componente di front-end.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-backend%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BACKEND" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-backend%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BACKEND" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-backend%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BACKEND" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-backend%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BACKEND" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-backend%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BACKEND" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-backend%2F&#038;title=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BACKEND" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-backend/" data-a2a-title="JOOMLA – TUTORIAL – CREARE UN COMPONENT – BACKEND"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-backend/">JOOMLA – TUTORIAL – CREARE UN COMPONENT – BACKEND</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>JOOMLA &#8211; TUTORIAL &#8211; CREARE UN COMPONENT &#8211; BASE DATI</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-base-dati/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 21:05:11 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=198</guid>

					<description><![CDATA[<p>Continuiamo la realizzazione del nostro componente di chat definendo la base dati. Nella nostra soluzione la base dati viene usata per conservare i parametri di configurazione della chat e consentirne l&#8217;aggiornamento tramite la componente di amministrazione. Vediamo prima il modello ERD Gli attributi della tabella sono: id              &#8211;&#62; chiave &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-base-dati/" class="more-link">Continua la lettura di <span class="screen-reader-text">JOOMLA &#8211; TUTORIAL &#8211; CREARE UN COMPONENT &#8211; BASE DATI</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-base-dati/">JOOMLA – TUTORIAL – CREARE UN COMPONENT – BASE DATI</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f;">Continuiamo la realizzazione del nostro componente di chat definendo la base dati. Nella nostra soluzione la base dati viene usata per conservare i parametri di configurazione della chat e consentirne l&#8217;aggiornamento tramite la componente di amministrazione.</p>
<p style="color: #0d293f;">Vediamo prima il modello ERD</p>
<p style="color: #0d293f;"><img loading="lazy" src="http://www.valeriofinazzo.it/joomla/images/components/component_database.png" alt="" width="232" height="194" border="0" /></p>
<p style="color: #0d293f;">Gli attributi della tabella sono:</p>
<ul style="color: #143c5d;">
<li>id              &#8211;&gt; chiave primaria</li>
<li>enabled     &#8211;&gt; indica se la chat è attiva</li>
<li>frequency   &#8211;&gt; indica la frequenza in secondi con cui il client deve verificare l&#8217;aggiornamento dei dati</li>
<li>directory    &#8211;&gt; indica la posizione dove verranno salvati le chat</li>
<li>mail           &#8211;&gt;indica la mail dell&#8217;operatore cui verranno inviate le notifiche di richiesta help</li>
<li>title            &#8211;&gt;indica il titolo della pagina della chat</li>
</ul>
<div style="color: #0d293f;">Definito il modello ERD occorre preparare gli script sql con cui popolare la base dati. Nell&#8217;articolo precedente abbiamo definito uno script di installazione e uno di disinstallazione.</div>
<div style="color: #0d293f;">
<ul style="color: #143c5d;">
<li>install.mysql.utf8.sql</li>
<li>uninstall.mysql.utf8.sql</li>
</ul>
</div>
<p style="color: #0d293f;">Lo script di installazione prevede i seguenti comandi:</p>
<p></p><pre class="crayon-plain-tag">DROP TABLE IF EXISTS `#__liveassistant_params`;
CREATE TABLE `#__liveassistant_params` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`enabled` int(1) NOT NULL DEFAULT '0',
`frequency` int(5) NOT NULL DEFAULT '10',
`directory` TEXT NOT NULL ,
`mail` TEXT NOT NULL ,
`title` TEXT NOT NULL ,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

INSERT INTO `#__liveassistant_params` 
(`frequency`, `enabled`, `directory`, `mail`, `title`) 
VALUES 
('10', '0', 'directory', 'mail', 'titolo');</pre><p>In coda alla creazione è previsto l&#8217;inserimento in tabella dei valori di default.</p>
<p style="color: #0d293f;">Lo script per la disinstallazione prevede semplicemente la rimozione della tabella:</p>
<p></p><pre class="crayon-plain-tag">DROP TABLE IF EXISTS `#__liveassistant_params`;</pre><p>&nbsp;</p>
<p style="color: #0d293f;">Nel prossimo articolo vedremo come realizzare la compoennte MVC per gestire i parametri della configurazione.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-base-dati%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BASE%20DATI" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-base-dati%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BASE%20DATI" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-base-dati%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BASE%20DATI" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-base-dati%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BASE%20DATI" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-base-dati%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BASE%20DATI" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-base-dati%2F&#038;title=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20BASE%20DATI" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-base-dati/" data-a2a-title="JOOMLA – TUTORIAL – CREARE UN COMPONENT – BASE DATI"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-base-dati/">JOOMLA – TUTORIAL – CREARE UN COMPONENT – BASE DATI</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>JOOMLA &#8211; TUTORIAL &#8211; CREARE UN COMPONENT &#8211; STRUTTURA</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-struttura/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 21:02:11 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=195</guid>

					<description><![CDATA[<p>Iniziamo una serie di articoli mirati alla realizzazione di un componente che offre una funzionalità Live Assistant da integrare nel nostro sito Joomla 2.5, intesa come funzionalità di supporto chat per gli utenti del sito. La componente amministrativa consente di configurare le caratteristiche delle chat mentre la componente front-end presenta due funzioni separate: per gli &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-struttura/" class="more-link">Continua la lettura di <span class="screen-reader-text">JOOMLA &#8211; TUTORIAL &#8211; CREARE UN COMPONENT &#8211; STRUTTURA</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-struttura/">JOOMLA – TUTORIAL – CREARE UN COMPONENT – STRUTTURA</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">Iniziamo una serie di articoli mirati alla realizzazione di un componente che offre una funzionalità Live Assistant da integrare nel nostro sito Joomla 2.5, intesa come funzionalità di supporto chat per gli utenti del sito.</p>
<p style="color: #0d293f; text-align: justify;">La componente amministrativa consente di configurare le caratteristiche delle chat mentre la componente front-end presenta due funzioni separate:</p>
<ul style="color: #143c5d; text-align: justify;">
<li>per gli utenti guest deve essere possibile l&#8217;avvio di una chat</li>
<li>per gli operatori autorizzati deve essere possibile gestire le chat avviate</li>
</ul>
<div style="color: #0d293f; text-align: justify;">La configurazione delle chat viene salvata all&#8217;interno del database, mentre le chat vengono salvate su file system, in modo da minimizzare gli accessi al database.</div>
<div style="color: #0d293f; text-align: justify;">Creiamo la nostra directory com_liveassistant e all&#8217;interno di essa definiamo il nostro file manifest che definisce la struttura del nostro componente e le operazioni da effettuare in sede di installazione.</div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;">
<pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;extension type="component" version="2.5.0" method="upgrade"&gt;
&lt;name&gt;LiveAssistant&lt;/name&gt;
&lt;author&gt;Valerio Finazzo&lt;/author&gt;
&lt;creationDate&gt;Marzo 2014&lt;/creationDate&gt;
&lt;authorEmail&gt; valerio.finazzo@gmail.com&lt;/authorEmail&gt;
&lt;authorUrl&gt;www.valeriofinazzo.it&lt;/authorUrl&gt;
&lt;version&gt;1.0.0&lt;/version&gt;
&lt;description&gt;Live Assistant&lt;/description&gt;
 
&lt;install&gt;
&lt;sql&gt;
&lt;file driver="mysql" charset="utf8"&gt;sql/install.mysql.utf8.sql&lt;/file&gt;
&lt;/sql&gt;
&lt;/install&gt;
&lt;uninstall&gt;
&lt;sql&gt;
&lt;file driver="mysql" charset="utf8"&gt;sql/uninstall.mysql.utf8.sql&lt;/file&gt;
&lt;/sql&gt;
&lt;/uninstall&gt;
&lt;files folder="site"&gt;
&lt;filename&gt;index.html&lt;/filename&gt;
&lt;filename&gt;liveassistant.php&lt;/filename&gt;
&lt;filename&gt;controller.php&lt;/filename&gt;
&lt;folder&gt;views&lt;/folder&gt;
&lt;folder&gt;models&lt;/folder&gt;
&lt;folder&gt;language&lt;/folder&gt;
&lt;folder&gt;assets&lt;/folder&gt;
&lt;/files&gt;
 
&lt;administration&gt;
&lt;menu&gt;Live Assistant&lt;/menu&gt;
&lt;files folder="admin"&gt;
&lt;filename&gt;index.html&lt;/filename&gt;
&lt;filename&gt;liveassistant.php&lt;/filename&gt;
&lt;filename&gt;controller.php&lt;/filename&gt;
&lt;folder&gt;views&lt;/folder&gt;
&lt;folder&gt;models&lt;/folder&gt;
&lt;folder&gt;sql&lt;/folder&gt;
&lt;folder&gt;assets&lt;/folder&gt;
&lt;/files&gt;
&lt;languages folder="admin"&gt;
&lt;language tag="en-GB"&gt;language/en-GB/en-GB.com_liveassistant.ini&lt;/language&gt;
&lt;language tag="en-GB"&gt;language/en-GB/en-GB.com_liveassistant.sys.ini&lt;/language&gt;
&lt;language tag="it-IT"&gt;language/it-IT/it-IT.com_liveassistant.ini&lt;/language&gt;
&lt;language tag="it-IT"&gt;language/it-IT/it-IT.com_liveassistant.sys.ini&lt;/language&gt;
&lt;/languages&gt;
&lt;/administration&gt;
 
&lt;/extension&gt;</pre><br />
&nbsp;</p>
</div>
<div style="color: #0d293f; text-align: justify;">
<div><em> </em></div>
</div>
<div style="color: #0d293f; text-align: justify;">I primi tag sono descrittivi e contengono i dati dell&#8217;autore.</div>
<div style="color: #0d293f; text-align: justify;">Il tag &lt;install&gt; contiene gli script sql che devono essere lanciati in sede di installazione, solitamente contiene gli script sql per la generazione delle tabelle.</div>
<div style="color: #0d293f; text-align: justify;">Il tag &lt;uninstall&gt; contiene gli script sql che vengono lanciati in sede di disinstallazione, solitamente contiene gli script sql per la rimozione delle tabelle.</div>
<div style="color: #0d293f; text-align: justify;">Il tag files individua l&#8217;insieme di file che costituiscono le funzioni del front-end. Tramite l&#8217;attributo folder è possibile specificare un path relativo e al suo interno specifichiamo file e directory da copiare nel nostro front-end</div>
<div style="color: #0d293f; text-align: justify;">Il tag administration individua l&#8217;insieme di file che costituiscono le funzioni del backend.</div>
<div style="color: #0d293f; text-align: justify;">Il tag languages individua i file per la localizzazione del nostro componente, nel nostro caso stiamo localizzando in italiano e in inglese.</div>
<div style="color: #0d293f; text-align: justify;">In base a quanto definito nel nostro manifest il nostro componente presenterà la seguente alberatura:</div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;"><img loading="lazy" src="http://www.valeriofinazzo.it/joomla/images/components/component_file_system.png" alt="" width="253" height="96" border="0" /></div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;">Accedendo alla cartella site è visibile la seguente struttura dati</div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;"><img loading="lazy" src="http://www.valeriofinazzo.it/joomla/images/components/site_file_system.png" alt="" width="257" height="168" border="0" /></div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;">Mentre accedendo alla cartella admin è visibile la seguente struttura dati</div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;"><img loading="lazy" src="http://www.valeriofinazzo.it/joomla/images/components/admin_file_system.png" alt="" width="259" height="185" border="0" /></div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;">Come potete vedere è presente il file index.html in ogni cartella al fine di minimizzare i rischi di un hacking basato sulla conoscenza del file system del nostro sito.</div>
<div style="color: #0d293f; text-align: justify;">Compattando la directory principale in formato zip possiamo installare il nostro componente su joomla ottenendo questo effetto</div>
<div style="color: #0d293f; text-align: justify;">Nel prossimo articolo imposteremo la base dati.</div>
<div style="color: #0d293f; text-align: justify;"></div>
<div style="color: #0d293f; text-align: justify;"><img loading="lazy" src="http://www.valeriofinazzo.it/joomla/images/components/component_installed.png" alt="" width="750" height="29" border="0" /></div>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-struttura%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20STRUTTURA" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-struttura%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20STRUTTURA" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-struttura%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20STRUTTURA" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-struttura%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20STRUTTURA" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-struttura%2F&amp;linkname=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20STRUTTURA" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjoomla-tutorial-creare-un-component-struttura%2F&#038;title=JOOMLA%20%E2%80%93%20TUTORIAL%20%E2%80%93%20CREARE%20UN%20COMPONENT%20%E2%80%93%20STRUTTURA" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-struttura/" data-a2a-title="JOOMLA – TUTORIAL – CREARE UN COMPONENT – STRUTTURA"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/joomla-tutorial-creare-un-component-struttura/">JOOMLA – TUTORIAL – CREARE UN COMPONENT – STRUTTURA</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CHRONOCONNECTIVITY &#8211; TUTORIAL 1 &#8211; CREARE UN REPORT</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/chronoconnectivity-tutorial-1-creare-un-report/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 20:56:01 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[chronoconnectivity]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=189</guid>

					<description><![CDATA[<p>In questo articolo vedremo l&#8217;utilizzo di un altro interessante prodotto per Joomla, ovvero Chronoconnectivity, un componente realizzato dagli stessi autori di Chronoform, che consente di estrarre report da una tabella del nostro database. Per prima cosa installiamo il nostro componente dal sito, scaricandolo dal link. Una volta installato sarà disponibile la voce Chrono Connectivity nel menù Componenti. &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoconnectivity-tutorial-1-creare-un-report/" class="more-link">Continua la lettura di <span class="screen-reader-text">CHRONOCONNECTIVITY &#8211; TUTORIAL 1 &#8211; CREARE UN REPORT</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoconnectivity-tutorial-1-creare-un-report/">CHRONOCONNECTIVITY – TUTORIAL 1 – CREARE UN REPORT</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f;">In questo articolo vedremo l&#8217;utilizzo di un altro interessante prodotto per Joomla, ovvero Chronoconnectivity, un componente realizzato dagli stessi autori di Chronoform, che consente di estrarre report da una tabella del nostro database.</p>
<p style="color: #0d293f;">Per prima cosa installiamo il nostro componente dal sito, scaricandolo dal <a style="color: #2675b5;" href="http://www.chronoengine.com/downloads/7-chronoconnectivity.html" target="_blank">link</a>.</p>
<p style="color: #0d293f;">Una volta installato sarà disponibile la voce Chrono Connectivity nel menù Componenti. Selezioniamo tale voce e accediamo alla sezione Management dove saranno disponibili i report creati e le funzioni per la loro gestione.</p>
<p style="color: #0d293f;">Creiamo un nuovo report. Il sistema carica un sistema a scheda dove è possibile configurare tutti gli aspetti del nostro report. Sono presenti le schede:</p>
<ul style="color: #143c5d;">
<li>General</li>
<li>FrontEnd Settings</li>
<li>Admin Settings</li>
<li>Legend</li>
<li>Auto generated</li>
</ul>
<p style="color: #0d293f;">La scheda General è divisa a sua volta in più sezioni:</p>
<ul style="color: #143c5d;">
<li>General Settings</li>
<li>Query Related Settings</li>
<li>Connection View Settings</li>
<li>Add/Edit/Delete Links</li>
</ul>
<p style="color: #0d293f;">In General Settings possiamo inserire il nome del report che stiamo creando e la tabella del database a cui vogliamo agganciarlo.</p>
<p style="color: #0d293f;">In Query Related Settings inseriamo il codice per la gestione dei filtri da applicare alla nostra query. Il form deve essere popolato in maniera tale che restituisca una query sql che inizi con la clausola WHERE. E&#8217; possibile avvalersi di php ottenendo qualcosa del genere:</p>
<p></p><pre class="crayon-plain-tag">&amp;lt;?php
$sql = &quot; WHERE 1 &quot;;
$nome = $_GET['nome'];
if ($nome != null)
&nbsp; $sql .= &quot; and nome_ricetta like '%&quot; . $nome . &quot;%' &quot; ;
echo $sql;
?&amp;gt;</pre><p></p>
<p style="color: #0d293f;">E&#8217; possibile applicare l&#8217;order specificando i campi della tabella separati da ,</p>
<p style="color: #0d293f;">In Connection View Settings costruiamo l&#8217;aspetto grafico del report. Nella sezione Header definiamo l&#8217;intestazione del nostro report in html, è il posto ideale dove aggiungere la sezione filtri. Nella sezione Body definiamo il body del report, questo frammento di codice verrà ripetuto per ogni record della tabella estratto. Con la sintassi {nome_colonna} all&#8217;interno della sezione Body possiamo scegliere quale colonna della tabella mostrare. Nella sezione Footer definiamo la chiusura del report, è il posto ideale dove mettere i pulsanti di paginazione.</p>
<p style="color: #0d293f;">E&#8217; possibile avvalersi di alcuni tag che chiameranno delle funzioni specifiche del report. I tag supportati sono:</p>
<ul style="color: #143c5d;">
<li>{pagination} &#8211;&gt; attiva i pulsanti della paginazione (disponibile per la sezione header e footer)</li>
<li>{edit_record} &#8211;&gt; attiva il link per la modifica del record (disponibile per la sezione body)</li>
<li>{delete_record} &#8211;&gt; attiva il link per la cancellazione del record  (disponibile per la sezione body)</li>
<li>{add_record} &#8211;&gt; attiva il link per l&#8217;inserimento di un nuovo record  (disponibile per la sezione header e footer)</li>
</ul>
<div style="color: #0d293f;">E&#8217; possibile definire l&#8217;aspetto grafico dei link edit_record, delete_record e new_record, inserendo dei frammenti html nei campi opportuni.</div>
<p style="color: #0d293f;">Nella scheda FrontEnd Settings stabiliamo quale form va invocato per la modifica del record e le regole di visualizzazione del report e dei suoi pulsanti di gestione del report.</p>
<p style="color: #0d293f;">Nella scheda Admin Settings stabiliamo i campi che devono essere visualizzati sul backend, tramite la funzione ShowData disponibile nella sezione Management.</p>
<p style="color: #0d293f;">Questo è tutto. Adesso dovreste essere in grado di creare form, collegarli a tabelle del database ed estrarre i dati in base alle vostre esigenze sia sul frontend che sul backend.</p>
<p style="color: #0d293f;">Alla prossima</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoconnectivity-tutorial-1-creare-un-report%2F&amp;linkname=CHRONOCONNECTIVITY%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20REPORT" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoconnectivity-tutorial-1-creare-un-report%2F&amp;linkname=CHRONOCONNECTIVITY%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20REPORT" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoconnectivity-tutorial-1-creare-un-report%2F&amp;linkname=CHRONOCONNECTIVITY%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20REPORT" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoconnectivity-tutorial-1-creare-un-report%2F&amp;linkname=CHRONOCONNECTIVITY%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20REPORT" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoconnectivity-tutorial-1-creare-un-report%2F&amp;linkname=CHRONOCONNECTIVITY%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20REPORT" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoconnectivity-tutorial-1-creare-un-report%2F&#038;title=CHRONOCONNECTIVITY%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20REPORT" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/chronoconnectivity-tutorial-1-creare-un-report/" data-a2a-title="CHRONOCONNECTIVITY – TUTORIAL 1 – CREARE UN REPORT"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoconnectivity-tutorial-1-creare-un-report/">CHRONOCONNECTIVITY – TUTORIAL 1 – CREARE UN REPORT</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CHRONOFORM &#8211; TUTORIAL 5 &#8211; CREARE FORM DI REGISTRAZIONE PER JOOMLA</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-5-creare-form-di-registrazione-per-joomla/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 20:54:52 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[chronoform]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=187</guid>

					<description><![CDATA[<p>Una funzione molto interessante di Chronoform è quella che permette di estendere il modulo di registrazione utente di Joomla. Si tratta di definire un nuovo form che contenga i campi del form di registrazione di Joomla più i campi fondamentali per il nostro dominio applicativo.In questo form definiamo i campi necessari per Joomla : nome &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-5-creare-form-di-registrazione-per-joomla/" class="more-link">Continua la lettura di <span class="screen-reader-text">CHRONOFORM &#8211; TUTORIAL 5 &#8211; CREARE FORM DI REGISTRAZIONE PER JOOMLA</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-5-creare-form-di-registrazione-per-joomla/">CHRONOFORM – TUTORIAL 5 – CREARE FORM DI REGISTRAZIONE PER JOOMLA</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">Una funzione molto interessante di Chronoform è quella che permette di estendere il modulo di registrazione utente di Joomla.</p>
<p style="color: #0d293f; text-align: justify;">Si tratta di definire un nuovo form che contenga i campi del form di registrazione di Joomla più i campi fondamentali per il nostro dominio applicativo.In questo form definiamo i campi necessari per Joomla :</p>
<ul style="color: #143c5d; text-align: justify;">
<li>nome</li>
<li>username</li>
<li>password</li>
<li>retype password</li>
<li>email</li>
</ul>
<div style="color: #0d293f; text-align: justify;">e aggiungiamo tutti i campi tipici del nostro dominio.</div>
<div style="color: #0d293f; text-align: justify;">Una volta creato il form e connesso alla tabella del database, colleghiamo il form al processo di registrazione di Joomla.</div>
<div style="color: #0d293f; text-align: justify;">Il collegamento viene fatto in due fasi:</div>
<div style="color: #0d293f; text-align: justify;">
<ul style="color: #143c5d;">
<li>Nella sezione modifica del form accediamo alla scheda plugin e abilitiamo il plugin Joomla Registration</li>
<li>Nella sezione Form Management selezioniamo il singolo form tramite la checkbox e accediamo alla funzione Joomla Registration. Il sistema mostrerà un form in cui inserire la corrispondenza tra i campi della tabella utenti di Joomla e quelli del nostro form.</li>
</ul>
<div>A questo punto possiamo verificare il corretto funzionamento del form. Se abbiamo configurato tutto bene al submit del form vedremo popolarsi sia la tabella utenti di joomla che quella del nostro form.</div>
</div>
<div style="color: #0d293f; text-align: justify;">Ultima cosa che resta da fare è modificare il link del modulo di registrazione affinchè carichi il nostro form e non quello tipico di Joomla.</div>
<div style="color: #0d293f; text-align: justify;">Per fare questo dobbiamo modificare il file</div>
<div style="color: #0d293f; text-align: justify;">components/com_user/views/register/tmpl/default.php</div>
<div style="color: #0d293f; text-align: justify;">e introdurre la redirect verso la nostra pagina agendo sui sorgenti in questo modo</div>
<div style="color: #0d293f;">
<div style="text-align: justify;">defined(&#8216;_JEXEC&#8217;) or die(&#8216;Restricted access&#8217;);</div>
<div style="text-align: justify;">$mainframe-&gt;redirect(&#8216;register.html&#8217;);</div>
<div style="text-align: justify;">Buon lavoro</div>
</div>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-5-creare-form-di-registrazione-per-joomla%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%205%20%E2%80%93%20CREARE%20FORM%20DI%20REGISTRAZIONE%20PER%20JOOMLA" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-5-creare-form-di-registrazione-per-joomla%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%205%20%E2%80%93%20CREARE%20FORM%20DI%20REGISTRAZIONE%20PER%20JOOMLA" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-5-creare-form-di-registrazione-per-joomla%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%205%20%E2%80%93%20CREARE%20FORM%20DI%20REGISTRAZIONE%20PER%20JOOMLA" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-5-creare-form-di-registrazione-per-joomla%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%205%20%E2%80%93%20CREARE%20FORM%20DI%20REGISTRAZIONE%20PER%20JOOMLA" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-5-creare-form-di-registrazione-per-joomla%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%205%20%E2%80%93%20CREARE%20FORM%20DI%20REGISTRAZIONE%20PER%20JOOMLA" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-5-creare-form-di-registrazione-per-joomla%2F&#038;title=CHRONOFORM%20%E2%80%93%20TUTORIAL%205%20%E2%80%93%20CREARE%20FORM%20DI%20REGISTRAZIONE%20PER%20JOOMLA" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-5-creare-form-di-registrazione-per-joomla/" data-a2a-title="CHRONOFORM – TUTORIAL 5 – CREARE FORM DI REGISTRAZIONE PER JOOMLA"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-5-creare-form-di-registrazione-per-joomla/">CHRONOFORM – TUTORIAL 5 – CREARE FORM DI REGISTRAZIONE PER JOOMLA</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CHRONOFORM &#8211; TUTORIAL 4 &#8211; UPLOAD FILE</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-4-upload-file/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 20:49:15 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[chronoform]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=185</guid>

					<description><![CDATA[<p>Nell&#8217;articolo di oggi vedremo come gestire l&#8217;upload di file con Chronoform. Con questa funzione potremmo aggiungere al nostro form dei campi input di tipo file e con facilità configurare tutti i controlli tipici di un capo di tipo file. Come primo step carichiamo il form manager di Chronoform, selezioniamo il nostro form e accediamo in &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-4-upload-file/" class="more-link">Continua la lettura di <span class="screen-reader-text">CHRONOFORM &#8211; TUTORIAL 4 &#8211; UPLOAD FILE</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-4-upload-file/">CHRONOFORM – TUTORIAL 4 – UPLOAD FILE</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">Nell&#8217;articolo di oggi vedremo come gestire l&#8217;upload di file con Chronoform. Con questa funzione potremmo aggiungere al nostro form dei campi input di tipo file e con facilità configurare tutti i controlli tipici di un capo di tipo file.</p>
<p style="color: #0d293f; text-align: justify;">Come primo step carichiamo il form manager di Chronoform, selezioniamo il nostro form e accediamo in modalità modifica tramite il Wizard.</p>
<p style="color: #0d293f; text-align: justify;">Nel wizard selezionamo un componente di tipo FileUpload e con la funzione di drag and drop la aggiungiamo al nostro form. A questo punto configuriamo le properties dell&#8217;oggetto e in particolare configuriamo:</p>
<ul style="color: #143c5d; text-align: justify;">
<li>Allowed Extensions</li>
<li>Maximum File Size in KB</li>
</ul>
<div style="color: #0d293f; text-align: justify;">E&#8217; necessario configurare queste variabili, in assenza di valori Chronoform impedirà il caricamento del file.</div>
<div style="color: #0d293f; text-align: justify;">Modificate le variabili e salvato il form, torniamo al form manager, selezioniamo nuovamente il form tramite il pulsante modifica.</div>
<div style="color: #0d293f; text-align: justify;">Compare il sistema a scheda e selezionamo la scheda File Uploads.</div>
<div style="color: #0d293f; text-align: justify;">In questa scheda completiamo la configurazione del form. Possiamo stabilire:</div>
<div style="color: #0d293f;">
<ul style="color: #143c5d; text-align: justify;">
<li>il path dove i file verranno salvati (Full upload Path)</li>
<li>il formato del nome con cui verranno salvati (FileName format)</li>
<li>il messaggio di errore per limite dimensione superiore non rispettato (Size Exceeded error)</li>
<li>il messaggio di errore per estensione non supportata (Type not allowed error)</li>
<li>il messaggio di errore per limite dimensione inferiore non rispettato (Size less error)</li>
</ul>
<div style="text-align: justify;">A questo punto potete testare il vostro form e verificare il corretto salvataggio nel file system del file caricato secondo le vostre regole.</div>
</div>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-4-upload-file%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%204%20%E2%80%93%20UPLOAD%20FILE" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-4-upload-file%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%204%20%E2%80%93%20UPLOAD%20FILE" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-4-upload-file%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%204%20%E2%80%93%20UPLOAD%20FILE" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-4-upload-file%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%204%20%E2%80%93%20UPLOAD%20FILE" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-4-upload-file%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%204%20%E2%80%93%20UPLOAD%20FILE" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-4-upload-file%2F&#038;title=CHRONOFORM%20%E2%80%93%20TUTORIAL%204%20%E2%80%93%20UPLOAD%20FILE" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-4-upload-file/" data-a2a-title="CHRONOFORM – TUTORIAL 4 – UPLOAD FILE"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-4-upload-file/">CHRONOFORM – TUTORIAL 4 – UPLOAD FILE</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CHRONOFORM &#8211; TUTORIAL 3 &#8211; NOTIFICA VIA EMAIL</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-3-notifica-via-email/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 20:48:10 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[chronoform]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=183</guid>

					<description><![CDATA[<p>Può essere utile integrare nel nostro form un sistema di notifica via email, notifica via email che può essere inviata al gestore del sito qualora sia necessario una sua approvazione o all&#8217;utente stesso come riepilogo di quanto inserito. Per fare questo Chronoform ci mette a disposizione una comodo sezione in cui poter definire le caratteristiche &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-3-notifica-via-email/" class="more-link">Continua la lettura di <span class="screen-reader-text">CHRONOFORM &#8211; TUTORIAL 3 &#8211; NOTIFICA VIA EMAIL</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-3-notifica-via-email/">CHRONOFORM – TUTORIAL 3 – NOTIFICA VIA EMAIL</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">Può essere utile integrare nel nostro form un sistema di notifica via email, notifica via email che può essere inviata al gestore del sito qualora sia necessario una sua approvazione o all&#8217;utente stesso come riepilogo di quanto inserito.</p>
<p style="color: #0d293f; text-align: justify;">Per fare questo Chronoform ci mette a disposizione una comodo sezione in cui poter definire le caratteristiche della email che vogliamo spedire.</p>
<p style="color: #0d293f; text-align: justify;">Come primo step carichiamo il form manager di Chronoform, selezioniamo il nostro form e accediamo in modalità modifica.</p>
<p style="color: #0d293f; text-align: justify;">Il sistema carica il sistema a schede a noi noto e in particolare ci soffermiamo sulle schede General, Setup Email e Emails Template:</p>
<ul style="color: #143c5d; text-align: justify;">
<li>Nella scheda General ci limitiamo ad abilitare la combo Email the results ?</li>
<li>Nella scheda Setup Email creiamo le email da inviare al submit dell&#8217;utente</li>
<li>Nella scheda Emails Template definiamo il body di ciascuna email definita</li>
</ul>
<div style="color: #0d293f; text-align: justify;">E&#8217; possibile definire più email da inoltrare tramite i pulsanti disponibili e per ogni email dobbiamo inserire i parametri essenziali altrimenti la notifica resta disabilitata. I parametri obbligatori sono:</div>
<div style="color: #0d293f; text-align: justify;">
<ul style="color: #143c5d;">
<li>To</li>
<li>Subject</li>
<li>From Name</li>
<li>From Email</li>
</ul>
<div>I campi possono essere recuperati dal form stesso e per far ciò occorre usare nel form i campi definiti come Dynamic.</div>
<div>Se sono aggiunti tutti i campi necessari e se sono popolati correttamente nella sezione email properties viene abilitato il campo Enabled.</div>
</div>
<div style="color: #0d293f; text-align: justify;">A questo punto possiamo salvare e ritornare al form manager. Vedremo nella colonna email il numero di email abilitate e quelle disabilitate.</div>
<div style="color: #0d293f; text-align: justify;">Se avete operato correttamente troverete enabled:1 e disabled:0.</div>
<div style="color: #0d293f; text-align: justify;">Andiamo al nostro form, proviamo il submit e riceveremo subito la mail con le caratteristiche scelte.</div>
<div style="color: #0d293f; text-align: justify;">
<p>Di default Chronoform definisce per ogni email un body identifico al form creato. E&#8217; possibile cambiare il testo delle mail agendo sulla scheda Email Template, dove troveremo tante sezioni quante sono le email definite. Per ciascuna mail sarà possibile definire il body della mail tramite un comodo Editor WYSIWYG. I campi dinamici, recuperati dal form, vengono passati nel formato {nomeCampo}.</p>
</div>
<div style="color: #0d293f;">
<p style="text-align: justify;">Buona sperimentazione.</p>
</div>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-3-notifica-via-email%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%203%20%E2%80%93%20NOTIFICA%20VIA%20EMAIL" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-3-notifica-via-email%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%203%20%E2%80%93%20NOTIFICA%20VIA%20EMAIL" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-3-notifica-via-email%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%203%20%E2%80%93%20NOTIFICA%20VIA%20EMAIL" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-3-notifica-via-email%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%203%20%E2%80%93%20NOTIFICA%20VIA%20EMAIL" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-3-notifica-via-email%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%203%20%E2%80%93%20NOTIFICA%20VIA%20EMAIL" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-3-notifica-via-email%2F&#038;title=CHRONOFORM%20%E2%80%93%20TUTORIAL%203%20%E2%80%93%20NOTIFICA%20VIA%20EMAIL" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-3-notifica-via-email/" data-a2a-title="CHRONOFORM – TUTORIAL 3 – NOTIFICA VIA EMAIL"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-3-notifica-via-email/">CHRONOFORM – TUTORIAL 3 – NOTIFICA VIA EMAIL</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CHRONOFORM &#8211; TUTORIAL 2 &#8211; CONNETTERE IL FORM AL DATABASE</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-2-connettere-il-form-al-database/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 20:46:09 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[chronoform]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=181</guid>

					<description><![CDATA[<p>In questo articolo vedremo come agganciare il form creato nell&#8217;articolo precedente ad una tabella del database. Una volta creato il form abbiamo due possibilità: creare una tabella e agganciarla al form creato agganciare il form ad una tabella preesistente. Vediamo il primo caso. Accediamo alla sezione Forms Management, selezioniamo il nostro form e usiamo la &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-2-connettere-il-form-al-database/" class="more-link">Continua la lettura di <span class="screen-reader-text">CHRONOFORM &#8211; TUTORIAL 2 &#8211; CONNETTERE IL FORM AL DATABASE</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-2-connettere-il-form-al-database/">CHRONOFORM – TUTORIAL 2 – CONNETTERE IL FORM AL DATABASE</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">In questo articolo vedremo come agganciare il form creato nell&#8217;articolo precedente ad una tabella del database. Una volta creato il form abbiamo due possibilità:</p>
<p style="color: #0d293f; text-align: justify;">
<ul style="color: #143c5d; text-align: justify;">
<li>creare una tabella e agganciarla al form creato</li>
<li>agganciare il form ad una tabella preesistente.</li>
</ul>
<p style="color: #0d293f; text-align: justify;">
<p style="color: #0d293f; text-align: justify;">Vediamo il primo caso. Accediamo alla sezione Forms Management, selezioniamo il nostro form e usiamo la funzione disponibile in alto Create Table. Chronoform aprirà un form per la creazione di una tabella con alcuni campi di audit consigliati. In questo form sarà possibile scegliere il nome della tabella e quali campi del form creato mappare sulla tabella.</p>
<p style="color: #0d293f; text-align: justify;">Creata la tabella torniamo al nostro form e accediamo alla sezione DB Connection. In questa sezione abilitiamo il data storage e scegliamo dall&#8217;elenco la tabella appena creta. A questo punto, una volta pubblicato il form, ogni evento di submit si tradurrà in una insert nella nostra tabella.</p>
<p style="color: #0d293f; text-align: justify;">Vediamo il secondo caso. Stavolta la tabella è già disponibile e quindi non utilizzeremo la procedura di creazione guidata e relativo mapping. Selezioniamo nuovamente il nostro form e accediamo alla sezione DB Connection. In questa sezione abilitiamo il data storage e scegliamo una tabella preesistente con una sua struttura dati precisa. In questo cosa dobbiamo avere l&#8217;accortezza che le property del form abbiamo lo stesso nome dei campi della tabella, altrimenti il rischio è quello di generare tanti record vuoti.</p>
<p style="text-align: justify;">
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-2-connettere-il-form-al-database%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%202%20%E2%80%93%20CONNETTERE%20IL%20FORM%20AL%20DATABASE" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-2-connettere-il-form-al-database%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%202%20%E2%80%93%20CONNETTERE%20IL%20FORM%20AL%20DATABASE" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-2-connettere-il-form-al-database%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%202%20%E2%80%93%20CONNETTERE%20IL%20FORM%20AL%20DATABASE" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-2-connettere-il-form-al-database%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%202%20%E2%80%93%20CONNETTERE%20IL%20FORM%20AL%20DATABASE" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-2-connettere-il-form-al-database%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%202%20%E2%80%93%20CONNETTERE%20IL%20FORM%20AL%20DATABASE" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-2-connettere-il-form-al-database%2F&#038;title=CHRONOFORM%20%E2%80%93%20TUTORIAL%202%20%E2%80%93%20CONNETTERE%20IL%20FORM%20AL%20DATABASE" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-2-connettere-il-form-al-database/" data-a2a-title="CHRONOFORM – TUTORIAL 2 – CONNETTERE IL FORM AL DATABASE"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-2-connettere-il-form-al-database/">CHRONOFORM – TUTORIAL 2 – CONNETTERE IL FORM AL DATABASE</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CHRONOFORM &#8211; TUTORIAL 1 &#8211; CREARE UN FORM</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-1-creare-un-form/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 20:44:59 +0000</pubDate>
				<category><![CDATA[JOOMLA]]></category>
		<category><![CDATA[chronoform]]></category>
		<category><![CDATA[joomla]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=179</guid>

					<description><![CDATA[<p>Inizia una serie di articoli dedicati a Joomla, il celebre CMS scritto in php, utile per chiunque voglia realizzare un sito web senza avere nozioni di HTML e linguaggi server side. L&#8217;uso di Joomla è abbastanza intuitivo, e la documentazione a disposizione è precisa ed esauriente, pertanto non penso di scrivere articoli specifici su questa &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-1-creare-un-form/" class="more-link">Continua la lettura di <span class="screen-reader-text">CHRONOFORM &#8211; TUTORIAL 1 &#8211; CREARE UN FORM</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-1-creare-un-form/">CHRONOFORM – TUTORIAL 1 – CREARE UN FORM</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">Inizia una serie di articoli dedicati a Joomla, il celebre CMS scritto in php, utile per chiunque voglia realizzare un sito web senza avere nozioni di HTML e linguaggi server side. L&#8217;uso di Joomla è abbastanza intuitivo, e la documentazione a disposizione è precisa ed esauriente, pertanto non penso di scrivere articoli specifici su questa tecnologia. Mi dedicherò ai vari plugin sviluppati per Joomla che permettono di estendere le funzionalità base di Joomla.</p>
<p style="color: #0d293f; text-align: justify;">Nel momento in cui scrivo sono presenti le versioni:</p>
<ul style="color: #143c5d; text-align: justify;">
<li>1.5</li>
<li>1.6 (versione di transizione, non più supportata)</li>
<li>1.7</li>
</ul>
<div style="color: #0d293f; text-align: justify;">La più grande differenza tra le versioni è quella relativa la gestione delle utente, con la 1.7 si sono superati i limiti della 1.5 e l&#8217;utente può gestire al meglio le ACL, senza alcuna limitazione.</div>
<div style="color: #0d293f; text-align: justify;">Il componente analizzato in questo articolo è Chronoform, prodotto dalla <a style="color: #2675b5;" href="http://www.chronoengine.com/">ChronoEngine</a>, che consente la creazione di form da inserire nel nostro sito.</div>
<div style="color: #0d293f; text-align: justify;">Il comportamento base di Joomla prevede il sito come una serie di articoli organizzati in sezioni e categorie, articoli che vengono realizzato tramite il comodo editor messo a disposizione. La realizzazione di un form per l&#8217;invio di dati richiede l&#8217;uso di un componente esterno e la scelta è caduta su Chronoform, altre valide alternative sono analizzabile sul <a style="color: #2675b5;" href="http://extensions.joomla.org/">sito ufficiale delle estensioni</a>.</div>
<div style="color: #0d293f; text-align: justify;">Attualmente sono disponibili due versioni di Chronoform, la 3 e la 4. La versione 4 è una versione riscritta della 3, che aggiunge nuove funzionalità e la gestione degli eventi al potente wizard messo a disposizione. La versione 4 ha una dipendenza da mootools 1.2, quindi se per qualche motivo non potete soddisfare tale dipendenza ripiegate sulla versione 3.</div>
<div style="color: #0d293f; text-align: justify;">In questo articolo vediamo la creazione di un form con la versione 3.</div>
<div style="color: #0d293f; text-align: justify;">Una volta installato, seleziona il Wizard del menù, seguendo il percorso Componente/Chronoform/Form Wizard.</div>
<div style="color: #0d293f; text-align: justify;">Il sistema carica il form e abbiamo la possibilità di costrutire il form aggiungendo tramite drag&amp;drop i componenti messi a disposizione nel menù laterale.</div>
<div style="color: #0d293f; text-align: justify;">Aggiungiamo i componenti desiderati e concludiamo inserente il pulsante di Submit che ogni form deve avere.</div>
<div style="color: #0d293f; text-align: justify;">A questo punto salviamo, specificando il nome del form, e il modulo caricherà l&#8217;elenco dei form disponibili.</div>
<div style="color: #0d293f; text-align: justify;">Il form non è ancora pubblicato, ma è possibile pubblicarlo tramite il pulsante messo a disposizione e verificare con il link messo ben in evidenza la sua visualizzazione.</div>
<div style="color: #0d293f; text-align: justify;">Una volta pubblicato è possibile richiamare la pagina da menù,specificando l&#8217;opzione Chronoform e specificando il nome del form stabilito all&#8217;atto del salvataggio.</div>
<p style="text-align: justify;">
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-1-creare-un-form%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20FORM" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-1-creare-un-form%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20FORM" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-1-creare-un-form%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20FORM" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-1-creare-un-form%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20FORM" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-1-creare-un-form%2F&amp;linkname=CHRONOFORM%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20FORM" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fchronoform-tutorial-1-creare-un-form%2F&#038;title=CHRONOFORM%20%E2%80%93%20TUTORIAL%201%20%E2%80%93%20CREARE%20UN%20FORM" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-1-creare-un-form/" data-a2a-title="CHRONOFORM – TUTORIAL 1 – CREARE UN FORM"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/chronoform-tutorial-1-creare-un-form/">CHRONOFORM – TUTORIAL 1 – CREARE UN FORM</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
