Autore : timgno
ID articolo : 54
Pubblico : Tutorials
Versione 1.00
Data di pubblicazione: 27/4/2012 9:55:09
Letture : 452
Hack

A partire dai moduli stessi, si considera in qualche modo che il sistema funzioni con i plugin, i moduli vengono aggiunti al core di xoops esattamente come succede in altri cms e con l'aggiunta di piccole porzioni di codice che possiamo definire valore aggiunto, in qualche modo il sistema si avvale della facoltà di altri elementi, appunto i plugin. A differenza dei moduli che sono specificamente i componenti che riempiono questo sistema, i plugin sono piccole porzioni di codice che possono essere inserite nei moduli per lavorare tra loro.


Esistono dunque due tipologie di plugin in xoops, la prima che riguarda il core, ed il suo utilizzo è prevalentemente integrato con il sistema smarty e poi richiamato nel codice html del tema e dei template dei moduli.

La seconda tipologia riguarda i moduli e il loro rapporto sia tra loro che con il sistema. Generalmente vengono inseriti in una cartella di nome dello stesso plugin per essere identificati facilmente.

Prendiamo a esempio il modulo tag che è quello più diffuso, come molti sanno solitamente scaricando alcuni moduli, si trova molto spesso anche la cartella tag assieme al modulo interessato con all'interno la cartella plugins e il rispettivo codice per far funzionare quel modulo specifico, con il modulo tag.

Partendo con ordine possiamo vedere una semplice dimostrazione pratica dell'utilizzo dei plugin del core con smarty:

function smarty_compiler_xoModuleIconsBookmarks($argStr, &$smarty)
{
    global 
$xoops$xoTheme;       
    if ( 
file_exists$xoops->path('Frameworks/moduleclasses/icons/bookmarks/index.html'))) {
        
$url $xoops->url'Frameworks/moduleclasses/icons/bookmarks/' $argStr );    
    } else {
        if ( 
file_exists$xoops->path('modules/system/images/icons/default/' $argStr ))) {
            
$url $xoops->url'modules/system/images/icons/default/' $argStr );
        } else {
            
$url $xoops->url'modules/system/images/icons/default/xoops/xoops.png' );
        }
    }
    return 
"necho '" addslashes$url ) . "';";
}


Il codice che si vede sopra è contenuto nella cartella class/smarty/xoops_plugins e il suo compito è quello di poter utilizzare la chiamata di piccole immagini direttamente nel tema o template dei moduli, in questo modo:

<{$xoModuleIconsBookmarks images/icon.gif}>


Molto semplice vero?

Questo permette di risparmiare diverse righe di codice ed evitare di appesantire i temi e template dei moduli.

Spero vi sia utile...!!!

0
Stampa la pagina Invia questo articolo ad un amico