Tipi di estensione (definizioni tecniche)
From Joomla! Documentation
Ci sono cinque tipi di extensions disponibili per un sito web Joomla!
- Templates – definire l'aspetto, la sensazione e le capacità di navigazione del tuo sito
- Modules – i dati esistono già e vuoi solo un nuovo modo per presentarli sul tuo sito.
- Plugins – data, contenuto, o funzioni personalizzate sostituiscono le informazioni contenute negli articoli o le funzioni estendono le caratteristiche principali
- Components – aggiungere funzioni personalizzate al tuo sito che possono essere selezionate dai menu
- Languages – definire lingue aggiuntive per il tuo sito
Templates
Un template è un insieme di almeno due file costituito principalmente da uno script PHP principale e da un foglio di stile a cascata (CSS). Lo script PHP definisce il layout del sito che può variare a seconda di ciò che viene selezionato dai menu del sito. In questo file PHP è interlacciato con l'HTML. L'HTML fornisce gli elementi grezzi che definiscono ciò che va dove e il PHP definisce la logica che può rendere il contenuto diverso in base alla voce di menu selezionata così come richiamando i metodi di base di Joomla! per inserire articoli, moduli e altri contenuti all'interno degli elementi HTML. Il file CSS definisce i colori del testo e dello sfondo, la grafica e altri attributi dei vari elementi che possono apparire su una pagina. Il file CSS dà al sito un aspetto e un comportamento coerente.
Moduli
Un modulo è il tipo di estensione più semplice. Fornisce un tipo specifico di informazioni che possono essere inserite nel template del tuo sito e apparire sulle tue pagine ovunque il tuo template supporti l'inserimento di contenuti. I moduli possono essere istanziati tutte le volte che è necessario. Ogni istanza può essere posizionata in una posizione specifica sulla pagina come definito nel modello. Le posizioni sono definite nel file XML del template del sito e permettono ai moduli di apparire solo quando vengono selezionate determinate voci di menu. Alcuni moduli di esempio sono il login, gli utenti online, il contatore delle visite e Newsflash.
Plugins
Ci sono molti tipi di plugin, alcuni esempi sono:
- Contenuto
- Cerca
- Editors
- Editor Extensions
Un plugin di contenuto, per esempio, viene chiamato dal codice di base quando gli articoli vengono visualizzati e cerca stringhe di testo speciali elaborate specificamente da quel plugin, sostituendole con altro testo (che può includere HTML, Javascript e così via.). Ad esempio, un plugin potrebbe elaborare la stringa {avatar}' e inserire un riferimento all'avatar caricato o selezionato da un utente su un sito dotato del popolare componente Community Builder o sostituire {video=path-to-video} con javascript che trasmette il contenuto video al browser dell'utente.
Un plugin di ricerca può estendere la capacità di ricerca del sito per includere contenuti in componenti non nativi.
Un plugin editor può definire o estendere completamente un editor di testo esistente. (Per esempio, JCE.)
Componenti
Un componente è il tipo più elaborato e complesso di estensione Joomla! Può avere sia un'interfaccia frontend (utente) che backend (admin). I componenti possono avere uno o più modi per avere caratteristiche inserite come elementi nei menu del sito, e l'interfaccia di amministrazione può essere elaborata a scelta dell'autore. Alcuni esempi includono gallerie fotografiche, forum di discussione e guest book.
Le lingue
Una lingua è un insieme di uno o più file che definiscono gli elementi di una lingua specifica che l'estensione supporta.
Caratteristiche comuni
Tutte le estensioni di Joomla! includono almeno i file di codice sorgente e un file XML. Per tutti i tipi di estensione, il file XML agisce come uno script di installazione. Per alcuni tipi di estensione, fornisce anche una specifica per l'interfaccia amministratore.
L'interfaccia di amministrazione per moduli e plug-in è completamente codificata in XML. Non c'è un elemento dinamico e non c'è un modo reale per personalizzare l'aspetto della parte di input dei parametri. Questa parte è gestita dal nucleo di Joomla! Il file XML descrive anche l'estensione (nome, data, versione, descrizione e così via) e come dovrebbe essere installato.
Questo è in contrasto con l'interfaccia di amministrazione di un componente, il cui file XML viene utilizzato solo per l'installazione e per definire il menu amministratore del componente. Un componente è tipicamente codificato interamente in PHP e HTML dal suo autore. Ci sono parti distinte in un componente e sono divise tra l'interfaccia utente e l'interfaccia amministrativa. La parte amministrativa include un menu, un gestore di azioni e componenti visuali che possono includere moduli e altri elementi di input. La parte utente non ha componenti di menu, ma è molto simile alla parte amministrativa.