ANM22 WebBase | Developers

Templates

ANM22 WebBase ha la possibilità di gestire la grafica del proprio sito internet indipendentemente dai contenuti inseriti. Questo è possibile grazie a numerosi templates che possono essere caricati sul server del sito web e selezionati dalla sezione dell'editor "impostazioni pagina".


I templates vengono raggruppati in temi e, al contrario dei plugins, non richiedono la procedura di approvazione ANM22 e quindi possono essere immediatamente caricati sul proprio sito.

Organizzazione cartelle e file del tema

I template vanno caricati unicamente all'interno del server del sito, all'interno della seguente cartella:
ANM22WebBase/website/template/com_autoreTema_nomeTema/

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

css
font
img
js

theme.xml
themePreview.png

nomeTemplate1.php
nomeTemplate1.xml
nomeTemplate1_inlineStyles.php
nomeTemplate2.php
nomeTemplate2.xml
nomeTemplate2_inlineStyles.php

I file nomeTemplate_inlineStyles.php sono obbligatori solo per i template utilizzati per i servizi Mail, mentre l'organizzazione delle cartelle destinate a immagini e script di vario tipo è a discrezione dello sviluppatore.

theme.xml

Questo file xml contiene all'interno la lista dei template che compongono il tema e le caratteristiche del tema stesso. Questo file è essenziale affinché l'editor possa riconoscere tutte i componenti disponibili.

Vedi esempio

themePreview.png

Questa immagine rappresenta l'anteprima del tema. Il nome del file può essere modificato, ma in tal caso deve essere aggiornata l'indicazione anche all'interno del file theme.xml.

Vedi esempio

nomeTemplate.php

nomeTemplate.php è il template vero e proprio e all'interno contiene la pagina html sulla quale verranno aggiunti i contenuti.

Vedi esempio

Risorsa Pagina

Per poter integrare la pagina con l'editor è necessario fare delle iniezioni di codice php per gestire i contenuti e i link relativi dei vari componenti. Ecco la lista delle principali variabili e funzioni a disposizione degli sviluppatori:

WebBase è sviluppato con il paradigma ad oggetti e il template viene implementato come metodo dell'oggetto pagina.

A seguire i metodi per far interagire il template con la pagina:


getPageLink()
Link della pagina

getPageLanguage()
Lingua della pagina in formato ISO 639-2 Alpha 2

language // deprecated
Lingua della pagina in formato ISO 639-2 Alpha 2

getPageTheme()
Tema della pagina

theme // deprecated
Tema della pagina

getPageTemplate()
Template della pagina

template // deprecated
Template della pagina

getPageOption("nomeVariabile")
Valore della variabile delle impostazioni del template

pageOptions['nomeVariabile'] // deprecated
Valore della variabile delle impostazioni del template

showContainer("codiceSezioneLayout")
Mostra il contenuto di una determinata sezione del layout. Le sezioni standard sono: h header, l leftbar, b section, r rightbar, f footer.

getLayoutContainerVisibility("codiceSezioneLayout")
Ottenere lo stato di visibilità di una sezione del layout. Ritorna 0 se non attiva, 1 se visibile.

layout_header // deprecated
Stato di visibilità della sezione header del layout

layout_leftside // deprecated
Stato di visibilità della sezione leftside del layout

layout_body // deprecated
Stato di visibilità della sezione section del layout

layout_rightside // deprecated
Stato di visibilità della sezione rightside del layout

layout_footer // deprecated
Stato di visibilità della sezione footer del layout

getHomeFolderRelativePHPURL()
URL relativo della cartella principale del dominio rispetto al file php che genera la pagina.

getHomeFolderRelativeHTMLURL()
URL relativo della cartella principale del dominio rispetto all'indirizzo della pagina corrente.

getLanguageHomeFolderRelativePHPURL()
URL relativo della cartella della lingua della pagina corrente rispetto al file php che genera la pagina.

getLanguageHomeFolderRelativeHTMLURL()
URL relativo della cartella della lingua della pagina corrente rispetto all'indirizzo della stessa.

getThemeFolderRelativePHPURL()
URL relativo della cartella del tema rispetto al file php che genera la pagina.

getThemeFolderRelativeHTMLURL()
URL relativo della cartella del tema rispetto all'indirizzo della pagina corrente.


NB. Per chiamare proprietà o metodi dell'oggetto pagina all'interno del template è necessario inserire $this-> davanti al nome, salvo eventuali metodi statici.