Creiamo Un Modulo per Joomla/Facebook |
|
|
|||
|
Autore :
Stefano Bettocchi » Questo articolo è stato letto: 7079 volte » |
|||||
Creazione di un Modulo Facebook LikeBox.Questo articolo è la traduzione in Italiano della seguente pagina Web: Creating Facebook LikeBox Module. In questo Tutorial vedremo come creare un Modulo Joomla dedicato a Facebook e più precisamente un "likeBox". Vediamo come sarà il risultato finale in questa immagine qui sotto:
Innanzitutto abbiamo bisogno del codice per la nostra FaceBook LikeBox e lo otteniamo al seguente link: http://developers.facebook.com/docs/reference/plugins/like-box/ Questo semplice codice è racchiuso tra il TAG <iframe>:
<iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FAllAroundTheWeb.it&width=292&height=590&show_faces=true&colorscheme=light&stream=true&border_color&header=true&appId=303424189741872" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:590px;" allowTransparency="true"></iframe>
Dobbiamo usare il codice qui sopra per visualizzare la Facebook LikeBox sul nostro sito. Nel tag <iframe> qui sopra, dopo il simobolo "/" si trova l'indirizzo della pagina nostra pagina Facebook. Creazione Della Richiesta variabili.Nel file .Xml, aggiungeremo un tag <config> per creare la richiesta di variabili da passare al Modulo come illustrato di seguito. Creeremo la richiesta variabili per: la larghezza, l'altezza, link alla pagina facebook, mostra intestazione facebook, mostra i fan, flusso notizie. Definizione delle Variabili: mod_fblikebox.xml.Il Codice Parziale con le Varibili definite nel file: mod_fblikebox.xml è:
<config>
<fields name="params">
<fieldset name="basic">
<field
name="pagelink"
type="text"
label="Facebook Page Link"
description="Link of the Facebook Page to be shown, Example:https://www.facebook.com/AllAroundTheWeb.it?ref=hl" />
<field
name="width"
type="text"
default="185"
label="Module Width"
description="Facebook Likebox Width in px" />
<field
name="height"
type="text"
default="550"
label="Module Height"
description="Facebook Likebox Height in px" />
<field name="fbfans" type="list" default="1" label="Show Fans" description="Show Fans Thumbs or not ">
<option value="1">Show</option>
<option value="2">Hide</option>
</field>
<field name="include_stream" type="list" default="1" label="Include Stream" description="Include or not the stream of latest posts from your Facebook Page.">
<option value="0">No</option>
<option value="1">Yes</option>
</field>
<field name="fbheader" type="list" default="2" label="FanBox Header" description="Show Header Image for find us of Like box if fans or stream is enabled">
<option value="2">Show</option>
<option value="1">Hide</option>
</field>
</fieldset>
</fields>
</config>
dove: <FIELDS> è il tag che racchiude il fieldset, l'elenco delle Variabili. <fieldset> è il tag che contiene gruppi di variabili definite sotto l'attributo 'name'. <field> è il tag che contiene la Variabile con attributi diversi come il nome della variabile stessa, il tipo del valore della variabile, il valore di default e l'etichetta della variabile indicato nel Modulo e descrizione indicata nel passaggio del mouse nel Back-End. Accediamo alle Varibili Definite.Le Varibili che abbiamo definito sopra (width, height, fbfans, include_stream, fbheader e pagelink) devo essere lette nel file .php e questo viene realizzato dalla funzione GET(). Ecco il codice:
$width = $params->get('width');
$height = $params->get('height');
$fbfans = $params->get('fbfans');
$incStream = $params->get('include_stream');
$fbHeader = $params->get('fbheader');
$pagelink = $params->get('pagelink');
dove $params va a prendere il valore della variabile definita sopra nel file .Xml. Ora dobbiamo usare tutte queste Variabili per creare il nostro TAG <iframe> corretto che ci permetterà di visualizzare la nostra pagina Facebook concantenando tutte le suddette Varibili all'interno della stringa. Questo è il "codice" di concatenazione:
$inputfb = '<iframe src= "//www.facebook.com/plugins/likebox.php?href='.$pagelink.'&width='.$width.'&height='.$height.'&colorscheme=light&show_faces='.$fbfansbool.'&border_color&stream='.$incStreambool.'&header='.$fbHeaderbool.'" scrolling="yes" frameborder="0" style="border:none; overflow:hidden; width:'.$width.'px; height:'.$height.'px;" allowTransparency="true" ></iframe>';
File Richiesti.1) mod_fblikebox.php: Questo file è il punto di ingresso per il Modulo. Effettuerà le inizializzazioni necessarie a chiamare le routine di supporto per raccogliere i dati necessari e includere il modello che consente di visualizzare l'output del modulo. 2) helper.php: Questo file contiene la classe helper che raccoglie i dati necessari da utilizzare nel Modulo attraverso il database o altre fonti. 3) mod_fblikebox.xml: Questo file contiene le informazioni sul modulo. Questo è il file di installazione per il modulo. 4) tmpl / default.php: Questo è il file utilizzato per la mostrare l'output del modulo. Creazione del File di Installazione: mod_fblikebox.xml.Il File di Installazione definisce il tipo di Installazione che stiamo creando (Modulo, Plugin etc..) e da le definizioni dei Parametri, delle Variabili, i nomi dei File che compongono il pacchetto stesso di Installazione, il nome dell'Autore e altre cose che qui non sto ad elencare. Il Codice Completo del File mod_fblikebox.xml è:
<?xml version="1.0" encoding="utf-8"?> <extension type="module" version="2.5" client="site" method="upgrade"> <name>Facebook Like Box</name> <author>Larenge Kamal</author> <version>1.7</version> <description>Facebook LikeBox Module(by Lukmyworld).</description> <files> <filename>mod_fblikebox.xml</filename> <filename module="mod_fblikebox">mod_fblikebox.php</filename> <filename>index.html</filename> <filename>helper.php</filename> <filename>tmpl/default.php</filename> <filename>tmpl/index.html</filename> </files> <config> <fields name="params"> <fieldset name="basic"> <field name="pagelink" type="text" label="Facebook Page Link" description="Link of the Facebook Page to be shown, Example:http://www.facebook.com/pages/Lukmyworld/132967643489557" /> <field name="width" type="text" default="185" label="Module Width" description="Facebook Likebox Width in px" /> <field name="height" type="text" default="550" label="Module Height" description="Facebook Likebox Height in px" /> <field name="fbfans" type="list" default="1" label="Show Fans" description="Show Fans Thumbs or not "> <option value="1">Show</option> <option value="2">Hide</option> </field> <field name="include_stream" type="list" default="1" label="Include Stream" description="Include or not the stream of latest posts from your Facebook Page."> <option value="0">No</option> <option value="1">Yes</option> </field> <field name="fbheader" type="list" default="2" label="FanBox Header" description="Show Header Image for find us of Like box if fans or stream is enabled"> <option value="2">Show</option> <option value="1">Hide</option> </field> </fieldset> </fields> </config> </extension>
Creazione del File: mod_fblikebox.php.Il Codice Completo di mod_fblikebox.php è:
<?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); // Include the syndicate functions only once require_once( dirname(__FILE__).DS.'helper.php' ); $fbin = modFblikeboxHelper::getFBInput( $params ); require( JModuleHelper::getLayoutPath( 'mod_fblikebox' ) ); ?>
Creazione del file: helper.php.Questo file contiene la classe che è stata definita in mod_fblikebox.php qui sopra, questa classe è: modFblikeboxHelper che contiene la funzione getFBInput. Il Codice Completo di helper.php è:
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
class modFblikeboxHelper
{
static function getFBInput(&$params)
{
$width = $params->get('width');
$height = $params->get('height');
$fbfans = $params->get('fbfans');
$incStream = $params->get('include_stream');
$fbHeader = $params->get('fbheader');
$pagelink = $params->get('pagelink');
if($fbfans == 1)
$fbfansbool = "true";
else
$fbfansbool = "false";
if($incStream == 1)
$incStreambool = "true";
else
$incStreambool = "false";
if($fbHeader == 2)
$fbHeaderbool = "true";
else
$fbHeaderbool = "false";
$src = $pagelink.'&width='.$width.'&height='.$height.'&colorscheme=light&show_faces='.$fbfansbool.'&border_color&stream='.$incStreambool.'&header='.$fbHeaderbool;
$inputfb = '<iframe src= "//www.facebook.com/plugins/likebox.php?href='.$src.'" scrolling="yes" frameborder="0" style="border:none; overflow:hidden; width:'.$width.'px; height:'.$height.'px;" allowTransparency="true" ></iframe>';
return $inputfb;
}
}
?>
Creazione del File: tmpl\default.php.Questo file mostra l'output generato dal Modulo. Inoltre ha la stessa "visibilità" del file: mod_fblikebox.php così le Variabili definite in mod_fblikebox.php sono direttamente accessibili da questo File. La Variabile "$fbin" definita appunto in mod_fblikebox.php è accessibile da qui. Il Codice Completo di tmpl\default.php è:
<?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); ?> <html> <body> <?php echo $fbin; ?> </body> </html>
Creazione del File: index.html.A cosa serve questo file? Perché visualizzerà semplicemente una pagina vuota a chi tenterà di accedere alla Cartella del Server dove abbiamo depositato i nostri File. Il Codice Completo di index.html è:
<html><body bgcolor="#FFFFFF"></body></html>
Creazione della Cartella con i File di Installazione.Siamo arrivati al dunque e ci apprestiamo a realizzare ed installare il nostro Modulo Facebook. Come fare? Raduniamo tutti i file in una cartella, i File necessari sono:
Ora non resta che "zippare" il contenuto di questa cartella nominando il file compresso come più ci piace, ad esempio: fblikebox.zip. Il File compresso potrà essere usato tranquillamente in Joomla passando dall'Extension Manager ed installato esattamente come tutti gli altri moduli. Nell'Area Download della Community potete trovare il modulo completo e già tradotto in Italiano.
Articoli più recenti:
|





