Back to top

Gen | 13 24 Giovedì
 

Creiamo Un Modulo per Joomla/Facebook

Stampa E-mail  
Autore : Stefano Bettocchi  » Questo articolo è stato letto: 7079 volte »  
 
informazioni utili

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:

Facebook LikeBox

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&amp;width=292&amp;height=590&amp;show_faces=true&amp;colorscheme=light&amp;stream=true&amp;border_color&amp;header=true&amp;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.'&amp;width='.$width.'&amp;height='.$height.'&amp;colorscheme=light&amp;show_faces='.$fbfansbool.'&amp;border_color&amp;stream='.$incStreambool.'&amp;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.'&amp;width='.$width.'&amp;height='.$height.'&amp;colorscheme=light&amp;show_faces='.$fbfansbool.'&amp;border_color&amp;stream='.$incStreambool.'&amp;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:

  1. mod_fblikebox.php
  2. index.html
  3. mod_fblikebox.xml
  4. helper.php
  5. tmpl\default.php
  6. tmpl\index.html

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.

Buona sperimentazione e buona programmazione a tutti.


CommentaCommenta questo articolo sul forum


Vedi anche:
Articoli più recenti:

 

Ricerca su Joomla.it

...per il tuo dispositivo mobile

Naviga Joomla.it da dispositivi mobili
kreatif-multimedia-logo