Difference between revisions of "Absolute Basics of How a Component Functions/it"

From Joomla! Documentation

(Created page with "*Un altro file html per il controllo in backgroundː <tt>views/<component_name>/index.html</tt>")
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
<noinclude><languages /></noinclude>
 
<noinclude><languages /></noinclude>
 
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos'è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.
 
Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos'è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.
 
 
==Cos'è un Componente di Joomlaǃ==
 
==Cos'è un Componente di Joomlaǃ==
{{Chunk:Component/en}}
+
{{Chunk:Component/it}}
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello flat (restituisce il codice HTML per la pagina richiesta) o Model-View-Controller (di seguito definito MVC).
+
Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello statico (restituisce il codice HTML per la pagina richiesta) o dimanicoModel-View-Controller (di seguito definito MVC).
 
 
 
==Introduzione all'MVC==
 
==Introduzione all'MVC==
 
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l'interfaccia e l'interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l'input tradizionale, elaborazione, l'output in una logica di architettura GUI.
 
MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l'interfaccia e l'interazione  utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l'input tradizionale, elaborazione, l'output in una logica di architettura GUI.
 
 
===Model===
 
===Model===
Il model è la parte della componente che incapsula i dati dell'applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev'essere incapsulata nel model. In questo modo, se un'applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il modello è il solo elemento che deve essere cambiato, non la view o il controller.
+
Il model è la parte del componente che incapsula i dati dell'applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev'essere incapsulata nel model. In questo modo, se un'applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il model è il solo elemento che deve essere cambiato, non la view o il controller.
 
 
 
===View===
 
===View===
 
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all'interazione. Per un'applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all'utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all'utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.
 
La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all'interazione. Per un'applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all'utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all'utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.
 
 
===Controller===
 
===Controller===
 
Il controller è responsabile della risposta alle azioni dell'utente. Nel caso di un'applicazione web, un'azione dell'utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall'utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.
 
Il controller è responsabile della risposta alle azioni dell'utente. Nel caso di un'applicazione web, un'azione dell'utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall'utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.
 
 
== Joomla! Spiegazione del Component Framework  ==
 
== Joomla! Spiegazione del Component Framework  ==
 
 
=== Model ===
 
=== Model ===
 
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.
 
Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista.
 
 
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:
 
Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto:
 
 
The class ''HelloWorldView'''HelloWorld''''' risiede in ''site/views/'''helloworld'''/view.html.php'' e utilizzerà la classe ''HelloWorldModel'''HelloWorld''''' nel file ''site/models/'''helloworld'''.php''
 
The class ''HelloWorldView'''HelloWorld''''' risiede in ''site/views/'''helloworld'''/view.html.php'' e utilizzerà la classe ''HelloWorldModel'''HelloWorld''''' nel file ''site/models/'''helloworld'''.php''
 
 
Quindi supponiamo solo di voler usare una view immaginaria ''fluffy'', dovresti avere:
 
Quindi supponiamo solo di voler usare una view immaginaria ''fluffy'', dovresti avere:
 
 
La classe ''HelloWorldView'''Fluffy''''' che risiede in ''site/views/'''fluffy'''/view.html.php''. La view utilizzerà ''HelloWorldModel'''Fluffy''''' nel file ''site/models/'''fluffy''''.php''. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: ''site/views/'''fluffy'''/tmpl/default.php''.
 
La classe ''HelloWorldView'''Fluffy''''' che risiede in ''site/views/'''fluffy'''/view.html.php''. La view utilizzerà ''HelloWorldModel'''Fluffy''''' nel file ''site/models/'''fluffy''''.php''. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: ''site/views/'''fluffy'''/tmpl/default.php''.
 
 
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.
 
La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.
 
 
 
==Accesso a un Component Joomlaǃ==
 
==Accesso a un Component Joomlaǃ==
 
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:
 
Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:
 
 
{| border=1
 
{| border=1
 
  | 1
 
  | 1
Line 46: Line 31:
 
  | <tt><yoursite>/joomla/administrator/index.php</tt>
 
  | <tt><yoursite>/joomla/administrator/index.php</tt>
 
  |}
 
  |}
 
 
Hello World! example: <tt>localhost/joomla/index.php</tt>
 
Hello World! example: <tt>localhost/joomla/index.php</tt>
 
 
È possibile utilizzare l'URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell'utilizzo dell'URL.
 
È possibile utilizzare l'URL del componente o un [[#Menu| Menu]] per passare al componente. In questo articolo discuteremo dell'utilizzo dell'URL.
 
 
{| border=1
 
{| border=1
 
  | 1
 
  | 1
Line 60: Line 42:
 
  | <tt><yoursite>/joomla/administrator/index.php?option=com_<component_name></tt>
 
  | <tt><yoursite>/joomla/administrator/index.php?option=com_<component_name></tt>
 
  |}
 
  |}
 
 
Hello World! esempio: <tt>localhost/joomla/index.php?option=com_helloworld</tt>
 
Hello World! esempio: <tt>localhost/joomla/index.php?option=com_helloworld</tt>
 
 
==Struttura delle directory di base MVC==
 
==Struttura delle directory di base MVC==
 
Components are stored in a directory within your Joomla! installation, specifically at:
 
Components are stored in a directory within your Joomla! installation, specifically at:
Line 68: Line 48:
 
I componenti sono memorizzati in una directory all'interno di Joomla! installazione, in particolare presso:
 
I componenti sono memorizzati in una directory all'interno di Joomla! installazione, in particolare presso:
 
*<tt>htdocs/<percorso_di_joomla>/components/com_<nome_componente>/</tt> .
 
*<tt>htdocs/<percorso_di_joomla>/components/com_<nome_componente>/</tt> .
 
 
Il componente Hello World!  verrebbe archiviato in <tt> htdocs/<path_to_joomla>/components/com_helloworld/</tt>.  
 
Il componente Hello World!  verrebbe archiviato in <tt> htdocs/<path_to_joomla>/components/com_helloworld/</tt>.  
 
 
Un componente di base conterrà i seguenti file all'interno della sua directoryː
 
Un componente di base conterrà i seguenti file all'interno della sua directoryː
 
*Un file html che è solo un file di sicurezza con un colore di sfondoː <tt>index.html</tt>
 
*Un file html che è solo un file di sicurezza con un colore di sfondoː <tt>index.html</tt>
Line 81: Line 59:
 
*Un altro file html per il controllo in backgroundː <tt>views/<nome_componente>/tmpl/index.html</tt>
 
*Un altro file html per il controllo in backgroundː <tt>views/<nome_componente>/tmpl/index.html</tt>
 
*Un altro file html per il controllo in backgroundː <tt>views/<component_name>/index.html</tt>
 
*Un altro file html per il controllo in backgroundː <tt>views/<component_name>/index.html</tt>
*A php file for displaying the viewː <tt>views/<component_name>/view.html.php</tt>
+
*Un file php per visualizzare la viewː <tt>views/<component_name>/view.html.php</tt>
 
 
 
 
 
==JEXEC==
 
==JEXEC==
The following line is commonly found at the start of Joomla! PHP files:
+
La seguente riga si trova comunemente all'inizio di Joomla! File PHP:
 
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
 
     defined('_JEXEC') or die('Restricted Access');
 
     defined('_JEXEC') or die('Restricted Access');
 
</source>
 
</source>
 
+
Ciò consente un punto di ingresso sicuro in Joomla! piattaforma. [[S:MyLanguage/JEXEC| JEXEC]] contiene una spiegazione dettagliata.
This enables for a secure entry point into the Joomla! platform. [[S:MyLanguage/JEXEC| JEXEC]] contains a detailed explanation.
+
==Tutorial sulla progettazione di un componente MVC==
 
+
Per imparare a progettare il tuo componente MVC, completa il tutorial per il tuo Joomla! versione.
==Tutorials on Designing a MVC Component==
 
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.
 
 
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]
 
* [[S:MyLanguage/J1.5:Developing_a_MVC_Component/Introduction| Joomla! 1.5]]
 
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]
 
* [[S:MyLanguage/J2.5:Developing_a_MVC_Component| Joomla! 2.5]]

Latest revision as of 07:45, 26 October 2022

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Nederlands (informeel)‎ • ‎eesti • ‎español • ‎français • ‎italiano • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎українська • ‎فارسی • ‎हिन्दी • ‎অসমীয়া • ‎বাংলা • ‎中文(台灣)‎

Questo articolo è per principianti di Joomlaǃ; è progettato per spiegare cos'è un componente di Joomlaǃ e come funziona. Questo articolo farà riferimento ad un esempio di componente denominato Hello Worldǃ.

Cos'è un Componente di Joomlaǃ

Un componente è una specie di Joomla! extension. I componenti sono le principali unità funzionali di Joomla; possono essere visti come mini-applicazioni. Un facile analogia sarebbe che Joomla! è il sistema operativo e i componenti sono applicazioni desktop. Creato da un componente, il contenuto è solitamente visualizzato al centro dell'area di contenuto principale di un template (a seconda del template).

La maggior parte dei componenti ha due parti principali: una parte administratore e una parte sito. La parte del sito è ciò che viene utilizzato per rendere le pagine del tuo sito quando sono richieste dai visitatori del tuo sito durante il normale funzionamento del sito. La parte amministratore fornisce un'interfaccia per configurare e gestire i diversi aspetti del componente ed è accessibile attraverso il Joomla! applicazione di amministratore.

Joomla! viene fornito con un numero di componenti base, come il sistema di gestione dei contenuti, moduli di contatto e Collegamenti Web.

Vedi anche: Module, Plugin, Template


Nel framework di Joomla!, i componenti possono essere progettati utilizzando un modello statico (restituisce il codice HTML per la pagina richiesta) o dimanicoModel-View-Controller (di seguito definito MVC).

Introduzione all'MVC

MVC è un modello di progettazione di software che può essere utilizzato per organizzare il codice in modo che la logica di business e di presentazione dei dati siano separate. La premessa alla base di questo approccio è che, se la logica di business è raggruppata in una sezione, allora l'interfaccia e l'interazione utente che circonda i dati possono essere modificate e personalizzate senza dover riprogrammare la logica di business. MVC è stato originariamente sviluppato per mappare l'input tradizionale, elaborazione, l'output in una logica di architettura GUI.

Model

Il model è la parte del componente che incapsula i dati dell'applicazione. Spesso forniscono routine per gestire e manipolare i dati in modo significativo in aggiunta alle routine che recuperano i dati dal modello. In generale, la tecnica che sta sotto ai dati di accesso dev'essere incapsulata nel model. In questo modo, se un'applicazione sta per essere spostata da un sistema che utilizza un file di testo per memorizzare le informazioni a un sistema che utilizza un database, il model è il solo elemento che deve essere cambiato, non la view o il controller.

View

La view è la parte del componente utilizzata per eseguire il rendering dei dati dal model in un modo adatto all'interazione. Per un'applicazione basata sul Web, la visualizzazione è generalmente una pagina HTML restituita all'utente. La view estrae i dati dal model (che gli vengono passati dal controller) e li visualizza in un template che viene popolato e presentato all'utente. La view non modifica in alcun modo i dati, mostra solo i dati ricevuti dal model.

Controller

Il controller è responsabile della risposta alle azioni dell'utente. Nel caso di un'applicazione web, un'azione dell'utente è generalmente una richiesta di pagina. Il controller determinerà quale richiesta viene effettuata dall'utente e risponderà in modo appropriato attivando il model per manipolare i dati in modo appropriato e passando il model nella view. Il controller non visualizza i dati nel model, attiva solo metodi nel model che modificano i dati, quindi passa il model nella view che visualizza i dati.

Joomla! Spiegazione del Component Framework

Model

Nel framework Joomla, i model sono responsabili della gestione dei dati. La prima funzione che deve essere scritta per un model è una funzione get. Restituisce i dati al chiamante. Per questo esempio, il chiamante sarà la view HelloWorldViewHelloWorld. Per impostazione predefinita, il model denominato HelloWorldModelHelloWorld che risiede in site/models/helloworld.php è il model principale associato a questa vista. Quindi diamo una rapida occhiata alle convenzioni di denominazione con un esempio, poiché le convenzioni di denominazione sono la vera magia, che fa funzionare tutto: The class HelloWorldViewHelloWorld risiede in site/views/helloworld/view.html.php e utilizzerà la classe HelloWorldModelHelloWorld nel file site/models/helloworld.php Quindi supponiamo solo di voler usare una view immaginaria fluffy, dovresti avere: La classe HelloWorldViewFluffy che risiede in site/views/fluffy/view.html.php. La view utilizzerà HelloWorldModelFluffy nel file site/models/fluffy'.php. Nota: per far funzionare questo esempio è necessaria anche la schermata effettiva della vista: site/views/fluffy/tmpl/default.php. La rottura di una qualsiasi di queste convenzioni porterà a errori o a una pagina vuota.

Accesso a un Component Joomlaǃ

Per prima cosa dobbiamo accedere alla piattaforma Joomla!, a cui si accede sempre attraverso un unico punto di ingresso. Utilizzando il tuo browser web preferito, vai al seguente URL:

1 user access <yoursite>/joomla/index.php
2 administrator access <yoursite>/joomla/administrator/index.php

Hello World! example: localhost/joomla/index.php È possibile utilizzare l'URL del componente o un Menu per passare al componente. In questo articolo discuteremo dell'utilizzo dell'URL.

1 user access <yoursite>/joomla/index.php?option=com_<component_name>
2 administrator access <yoursite>/joomla/administrator/index.php?option=com_<component_name>

Hello World! esempio: localhost/joomla/index.php?option=com_helloworld

Struttura delle directory di base MVC

Components are stored in a directory within your Joomla! installation, specifically at:

  • htdocs/<path_to_joomla>/components/com_<component_name>/ .

I componenti sono memorizzati in una directory all'interno di Joomla! installazione, in particolare presso:

  • htdocs/<percorso_di_joomla>/components/com_<nome_componente>/ .

Il componente Hello World! verrebbe archiviato in htdocs/<path_to_joomla>/components/com_helloworld/. Un componente di base conterrà i seguenti file all'interno della sua directoryː

  • Un file html che è solo un file di sicurezza con un colore di sfondoː index.html
  • Un file php che rappresenta il controller stessoː controller.php
  • Un file php che carica la classe controllerː <nome_componente>.php
  • Un file php che rappresenta il model stessoː models/<component_name>.php
  • Un altro file html per il controllo in backgroundː models/index.html
  • Un file php contenente la view predefinitaː views/<nome_componente>/tmpl/default.php
  • Un file xml per aggiungere un tipo di voce di menuː views/<nome_componente>/tmpl/default.xml
  • Un altro file html per il controllo in backgroundː views/<nome_componente>/tmpl/index.html
  • Un altro file html per il controllo in backgroundː views/<component_name>/index.html
  • Un file php per visualizzare la viewː views/<component_name>/view.html.php

JEXEC

La seguente riga si trova comunemente all'inizio di Joomla! File PHP:

<?php
    defined('_JEXEC') or die('Restricted Access');

Ciò consente un punto di ingresso sicuro in Joomla! piattaforma. JEXEC contiene una spiegazione dettagliata.

Tutorial sulla progettazione di un componente MVC

Per imparare a progettare il tuo componente MVC, completa il tutorial per il tuo Joomla! versione.