Documentazione online
  • English
  • Arabic
  • French
  • German
  • Italian
  • Portuguese-br
  • Russian
  • Simplified chinese
  • Spanish
  • cronologia visite:
  • 1
Creare Blocchi CMS
Una pagina del CMS è composta da uno o più blocchi, posizionati secondo una certa disposizione. Per realizzare un nuovo tipo di blocco è necessario definire una parte che riguarda la configurazione del blocco ed una che riguarda la sua visualizzazione.

CONFIGURAZIONE DEL BLOCCO
  • Convenzioni sui nomi dei blocchi:
I nuovi moduli per la gestione dei blocchi devono avere un nome nel formato "ext_xxx", dove il prefisso "ext_" sta ad indicare una estensione esterna al codice di Docebo e "xxx" indica il nome desiderato per il blocco.
  • Inserimento del nuovo tipo di blocco:
Per rendere visibile il nuovo blocco nell'apposita pagina di scelta è necessario inserire i valori opportuni nella tabella "cms_blocktype":

INSERT INTO cms_blocktype ( name, folder, label ) VALUES ( 'ext_xxx', '', '_BLK_EXT_XXX');

Il campo "name" indica il nome del nuovo blocco, che sarà del tipo "ext_xxx".

Il campo "folder" indica la directory dove trovare il codice del blocco: se si lascia in bianco viene utilizzato il nome del blocco stesso. Questa opzione è utilizzata per blocchi che si differenziano poco tra di loro, per cui è opportuno ragruppare il codice (es. il blocco "Notizie" ed il blocco "Notizie (specifico)" ).

Il campo "label" indica la chiave del linguaggio che contiene il nome del blocco da visualizzare: deve essere nel formato "_BLK_EXT_XXX".
  • Codice per la configurazione del blocco:
Una volta inserito un blocco all'interno di una pagina è possibile configurarne i parametri di visualizzazione.
Il codice che si occupa della gestione dei parametri di configurazione si trova nella directory:
doceboCms/admin/modules/block_ext_xxx/
All'interno di questa directory deve trovarsi il file "util.ext_xxx.php".
Questo file deve a sua volta contenere la definizione delle funzioni:

function ext_xxxBlockEdit(& $out, & $lang, & $form, $block_id, $sub_id)
Questa funzione visualizza il form che contiene tutte le opzioni configurabili per il blocco.

function ext_xxxBlockAdd($block_id, $sub_id)
Questa funzione permette di definire i valori di default per i parametri del blocco.

function ext_xxxBlockSave($block_id, $sub_id)
Questa funzione permette di memorizzare i valori specificati per i parametri del blocco.

function ext_xxxBlockDel($block_id, $sub_id)
Questa funzione è opzionale (può non essere presente) e viene richiamata al momento della rimozione del blocco: è pensata per gestire delle operazioni di cancellazione non standard, come può essere il caso della eliminazione di valori da tabelle non appartenenti a Docebo.

Utilizzando un modulo esistente come esempio non è difficile scrivere il codice desiderato per il nuovo blocco.
In caso sia necessario definire funzioni di utilità, bisogna nominarle secondo questo standard: "ext_xxxYyy", dove Yyy è il nome che caratterizza la funzione.
Se le funzioni di utilità possono essere utilizzate in più parti dell'applicazione (come ad esempio al momento della visualizzazione del blocco), è opportuno inserirle in un apposito file presente nella stessa directory e chiamato "functions.php", che sarà richiamato con l'istruzione "require_once" del PHP.
  • Definizione delle chiavi del linguaggio:
Per rendere visibile il nuovo blocco nell'apposita pagina di scelta è necessario definire 2 chiavi di linguaggio, entrambe appartenenti alla
piattaforma "CMS" ed al modulo di gestione "admin_manpage":
  _BLK_EXT_XXX che contiene il nome del blocco;
  _BLK_EXT_XXX_DESC che contiene una breve descrizione delle funzionalità del blocco.

Tutti gli altri messaggi necessari per la gestione dei parametri del blocco devono essere definiti come chiavi di linguaggio, appartenenti alla
piattaforma "CMS" ed al modulo di gestione "admin_manpage", usando la convenzione "_EXT_XXX_YYY", dove YYY è il nome desiderato per la chiave del linguaggio. Nel caso di messaggi già presenti come chiavi di linguaggio, onde evitare ogni possibile conflitto con gli aggiornamenti di Docebo, è senz'altro preferibile creare nuove chiavi.

VISUALIZZAZIONE DEL BLOCCO
  • Codice per la visualizzazione iniziale del blocco:
Il codice che si occupa della visualizzazione del blocco si trova nella directory: doceboCms/modules/ext_xxx/
All'interno di questa directory deve trovarsi il file "block.ext_xxx.php". Questo file deve a sua volta contenere la definizione della funzione:

function ext_xxx_showMain($idBlock, $title, $block_op)
Questa funzione visualizza il blocco all'interno della pagina del CMS.

Utilizzando un modulo esistente come esempio non è difficile scrivere il codice desiderato per il nuovo blocco. In caso sia necessario definire funzioni di utilità, bisogna nominarle secondo questo standard: "ext_xxx_Yyy", dove Yyy è il nome che caratterizza la funzione.
Se le funzioni di utilità possono essere utilizzate in più parti dell'applicazione è opportuno inserirle in un apposito file presente nella
stessa directory e chiamato "functions.php". Se invece di funzioni si vuole definire una classe, è opportuno assegnare al file un nome del tipo
"class.ext_xxx_yyy.php" e chiamare la classe "ext_xxx_yyy", dove "yyy" è il nome che la caratterizza.
  • Codice per la visualizzazione delle sottopagine del blocco:
Alcuni blocchi si limitano a mostrare un solo contenuto, come ad esempio il blocco "Menu", altri invece permetto di mostrare anche delle sottopagine. Per gestire le sottopagine è necessario inserire nella directory indicata in precedenza anche il file "index.php". Questo file contiene del codice che permette di selezionare la sottopagina da mostrare, mandando in esecuzione la funzione corrispondente.
Si può prendere come esempio il blocco "news" per scrivere il codice necessario per il proprio blocco. In caso sia necessario definire funzioni di utilità, bisogna nominarle sempre secondo lo standard: "ext_xxx_Yyy", dove Yyy è il nome che caratterizza la funzione.

E' opportuno creare delle funzioni di utilità che possono essere richiamate sia dalla pagina principale (file "block.ext_xxx.php") che dalle sottopagine (file "index.php") e raggrupparle nel file "functions.php".
  • Definizione delle chiavi del linguaggio:

Ogni testo costante che si vuole visualizzare sulle pagine deve essere sempre definito come chiave di linguaggio: in questo modo si rende
semplice la traduzione in altre lingue. Le nuove chiavi di linguaggio vanno definite all'interno della piattaforma "CMS" e del modulo che si sta creando. Nel caso di messaggi già presenti come chiavi di linguaggio, onde evitare ogni possibile conflitto con gli aggiornamenti di Docebo, è senz'altro preferibile creare nuove chiavi.

  • Definizione di nuovi stili CSS:

Se il nuovo blocco richiede la definizione di nuovi stili CSS è bene nominarli secondo la convenzione: ext_xxx_yyy, dove "xxx" è il nome del modulo in cui sono usati e "yyy" è il nome dello stile.

  • cronologia visite:
  • 1