ANM22 WebBase | Developers

Plugins

I plugin permettono di inserire all'interno di un sito internet nuove funzionalità, come l'integrazione di contenuti multimediali quali News, Gallery e Video o strumenti per attività di E-Commerce o interazione con applicativi esterni.

All'interno di ANM22 WebBase è presente una serie di plugin necessari a realizzare la maggior parte di tipologie di siti richiesti, ma gli utenti sono liberi di crearsi nuovi plugin custom per coprire le esigenze più sfiziose.

Struttura di un plugin

I plugin per WebBase vengono gestiti in due parti: lato server hosting, lato server WebBase.

Lato server hosting
Nella parte di plugin installata sull'hosting su cui gira il sito web viene implementato tutto ciò che è necessario al suo funzionamento.

Lato server WebBase
Nella parte di plugin installata sul server di ANM22 WebBase devono invece esserci i componenti necessari alla modifica e alla configurazione del plugin.

Questa divisione permette di avere un hosting leggero e ottimizzato per la visualizzazione e l'esecuzione dei plugin. Sul server di ANM22 WebBase invece saranno presenti tutte le molteplici configurazioni possibili di ogni plugin.

Organizzazione plugin su server hosting

I plugin vanno caricati all'interno del server del sito, all'interno della seguente cartella:
ANM22WebBase/website/plugins/com_autorePlugin_nomePlugin/

All'interno della cartella del plugin i file devono essere organizzati nel seguente modo:

css
img
js

plugin.php
pluginSignature.txt

Organizzazione plugin su server ANM22 WebBase

I file del plugin caricati all'interno del server di ANM22 WebBase devono essere caricati in una cartella con il seguente nome:
com_autorePlugin_nomePlugin

All'interno della cartella del plugin i file devono essere organizzati nel seguente modo:

css
img
js

plugin.php
pluginSignature.txt

Implementazione plugin

I plugin sono sviluppati in PHP utilizzando il paradigma ad oggetti.

La classe del plugin deve estendere la classe com_anm22_wb_editor_page_element e lato server deve ridefinire i seguenti metodi:

- importXMLdoJob($xml)
// Hosting, WebBase
Importazione valori proprietà dal XML di salvataggio, lato hosting può essere utilizzato per le implementazioni PHP che devono essere eseguite prima che la pagina HTML venga stampata.

- exportXMLdoJob($xml)
// WebBase
Generazione XML per il salvataggio dei valori delle proprietà

- show()
// Hosting
Metodo in cui deve essere stampato il codice HTML

- showLabPreview()
// WebBase
Anteprima del plugin all'interno della schermata dell'editor in cui sono mostrati gli elementi di una pagina

- showLabEditor()
// WebBase
Campi per configurare il plugin nella schermata del back office in cui viene modificato un elemento della pagina

- showLabEditorScript()
// WebBase
Gestione parametri $_POST generati dai campi inseriti nel metodo showLabEditor()


Inoltre devono sempre essere ridefiniti i seguenti campi:

elementClass = nomeClassePlugin
elementPlugin = nomeCartellaPlugin

Risorsa plugin

Le caratteristiche della risorsa generica plugin, implementata con la classe com_anm22_wb_editor_page_element sono le seguenti:

- elementClass
Nome classe plugin

- elementPlugin
Nome cartella plugin

- page
Proprietà contenente l'oggetto Pagina

- importXMLdoJob($xml)
// Hosting, WebBase
Importazione valori proprietà dal XML di salvataggio, lato hosting può essere utilizzato per le implementazioni PHP che devono essere eseguite prima che la pagina HTML venga stampata.

- exportXMLdoJob($xml)
// WebBase
Generazione XML per il salvataggio dei valori delle proprietà

- show()
// Hosting
Metodo in cui deve essere stampato il codice HTML

- showLabPreview()
// WebBase
Anteprima del plugin all'interno della schermata dell'editor in cui sono mostrati gli elementi di una pagina

- showLabEditor()
// WebBase
Campi per configurare il plugin nella schermata del back office in cui viene modificato un elemento della pagina

- showLabEditorScript()
// WebBase
Gestione parametri $_POST generati dai campi inseriti nel metodo showLabEditor()