Un componente di Joomla! è un programma ovvero un set di funzioni o compiti (task) che permettono di realizzare una specifica funzionalità: un e-commerce, ad esempio, può essere realizzato mediante un componente che si occupa di elaborare tutte le azioni finalizzate al processo di acquisto (per Joomla!, non a caso, esiste un ottimo componente per sviluppare un e-commerce [link a virtuemart]).

A meno di avere le URL del proprio sito in Joomla! riscritte da un componente per generare SEF url [link a artio], ci accorgiamo della presenza di un componente lato front dalla url:

/index.php?option=com_mycomponent&task=welcome

che sta ad indicare che il CMS sta presentando la vista relativa al task ‘welcome’ del componente com_mycomponent

Nel caso di un e-commerce, ad esempio, i task che possono essere necessari ad effettuare l’acquisto di prodotti possono essere:

  • avere un elenco dei prodotti
  • guardare la scheda di un prodotto
  • gestire il carrello
  • formalizzare l’acquisto

Queste sono solo alcune delle possibili funzioni di un e-commerce.

A prescindere, quindi, da come sono collegati questi task e come vengono gestiti i dati comuni al componente, per strutturare un componente in Joomla! dovremo aspettarci una struttura che riflette quanto prescritto dal pattern MVC:

  • modello di dati (ad esempio il carrello)
  • view delle schermate di input/output dei task del componente
  • controller preposto all’elaborazione di task

Per le view, inoltre, dovremo disporre un template per le singole azioni in cui è prevista interazione con l’utente (vi rimando alla pillola su come creare un template [link])

Poiché il componente può essere anche piuttosto complesso, è ipotizzabile una pagina di amministrazione dal back-end.

In linea di massima, quindi, un componente di Joomla! prevede i seguenti file:

Per il front-end:

/components/com_mycomponent/helpers/ (contenente i file di model )
/components/com_mycomponent/controllers/
/components/com_mycomponent/views/
/components/com_mycomponent/mycomponent.php
/components/com_mycomponent/mycomponent.xml

…e, aspettandoci un’area di amministrazione del componente dal back-end, potremmo avereper il back-end:

/administrator/components/com_mycomponent/helpers/ (contenente i file di model )
/administrator/components/com_mycomponent/controllers/
/administrator/components/com_mycomponent/views/
/administrator/components/com_mycomponent/mycomponent.php
/administrator/components/com_mycomponent/mycomponent.xml

A titolo di esempio, si può analizzare la struttura di com_search (compnente standard di Joomla! per eseguire ricerche all’interno del sito, com_banners e così via.

A questo punto potete consultare anche la pillola su come realizzare un componente di Joomla!


0 commentidomande ? commenti ? dì la tua

lascia un commento

bentornato  (cambia)




invio commento...