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

From Joomla! Documentation

(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<noinclude><languages /></noinclude>
 
<noinclude><languages /></noinclude>
<div class="mw-translate-fuzzy">
 
 
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ǃ.
</div>
 
 
==Cos'è un Componente di Joomlaǃ==
 
==Cos'è un Componente di Joomlaǃ==
 
{{Chunk:Component/it}}
 
{{Chunk:Component/it}}
Line 17: Line 15:
 
=== 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.
<div class="mw-translate-fuzzy">
 
 
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:
</div>
 
 
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:
Line 59: Line 55:
 
*Un file php che rappresenta il model stessoː <tt>models/<component_name>.php</tt>
 
*Un file php che rappresenta il model stessoː <tt>models/<component_name>.php</tt>
 
*Un altro file html per il controllo in backgroundː <tt>models/index.html</tt>
 
*Un altro file html per il controllo in backgroundː <tt>models/index.html</tt>
<div class="mw-translate-fuzzy">
 
 
*Un file php contenente la view predefinitaː <tt>views/<nome_componente>/tmpl/default.php</tt>
 
*Un file php contenente la view predefinitaː <tt>views/<nome_componente>/tmpl/default.php</tt>
</div>
 
<div class="mw-translate-fuzzy">
 
 
*Un file xml per aggiungere un tipo di voce di menuː <tt>views/<nome_componente>/tmpl/default.xml</tt>
 
*Un file xml per aggiungere un tipo di voce di menuː <tt>views/<nome_componente>/tmpl/default.xml</tt>
</div>
 
 
*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>

Revision as of 08:45, 26 October 2022

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Nederlands (informeel)‎ • ‎eesti • ‎español • ‎français • ‎italiano • ‎polski • ‎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.