drupalIniziare con drupal


Osservazioni

Drupal è un sistema di gestione dei contenuti open-source costruito in PHP. Drupal è progettato per essere flessibile e potente, consentendo agli sviluppatori di creare un'ampia varietà di siti, dai blog e siti in stile brochure a complesse piattaforme di e-commerce. Attraverso la sua architettura modulare guidata dalla comunità, Drupal è in grado di fornire strumenti per estendere le funzioni principali per accelerare lo sviluppo di progetti grandi e complessi.

Attualmente ci sono due versioni supportate di Drupal: 7 e 8. Drupal 8 è costruito su componenti del framework Symfony e molte altre librerie di terze parti per fornire moderne strutture di sviluppo.

Drupal Concepts

versioni

Release Date
 
Versione Data di rilascio
8.2.4 7 dicembre 2016
7.53 7 dicembre 2016
6,38 (non supportato) 24 febbraio 2016
5.23 (non supportato) 11 agosto 2010

Tipi di entità

Nelle versioni precedenti di Drupal, il sistema di campo veniva usato solo sui tipi di contenuto. Ora, grazie all'API Entity, possiamo aggiungere campi ad altre cose, come i commenti. Le entità Fieldable rendono Drupal estremamente flessibile. Un tipo di entità è un'astrazione utile per raggruppare i campi. Di seguito sono riportati i tipi di entità nel core Drupal:

  • Nodi (contenuto)
  • Commenti
  • File
  • Termini di tassonomia
  • Vocabolario tassonomico
  • utenti

Puoi anche creare nuovi tipi di tipi di entità in cui le opzioni sopra indicate non soddisfano le tue esigenze.

gruppi

I pacchetti sono un'implementazione di un tipo di entità a cui possono essere allegati i campi. Puoi considerare i pacchetti come sottotipi di un tipo di entità. Ad esempio, con i nodi di contenuto (un tipo di entità) è possibile generare pacchetti (sottotipi) come articoli, post di blog o prodotti. Tuttavia, non tutti i tipi di entità hanno bundle. Ad esempio, gli utenti non hanno bundle separati (sottotipi). Per i tipi di entità che consentono i bundle, puoi creare tutti i bundle (sottotipi) che desideri. Quindi, utilizzando il sistema Field, è possibile aggiungere diversi campi a ciascun pacchetto. Gli esempi includono un campo per il download di file su pagine di base e un campo per i sottotitoli su Articoli.

campi

Un campo è un pezzo di contenuto riutilizzabile. In termini tecnici, ogni campo è un tipo di dati primitivo, con validatori personalizzati e widget per la modifica e formattatori per la visualizzazione. Puoi leggere ulteriori informazioni per la guida di uno sviluppatore sull'uso dell'API Drupal 7 Fields .

Ciò che è importante sapere in relazione alle Entità è che i Campi possono essere aggiunti a qualsiasi dei bundle (o tipi di entità) per aiutare a organizzare i loro dati.

Ad esempio, ad esempio, crei un tipo di contenuto con un campo di testo non strutturato e utilizzi HTML per strutturare parti di esso, come una sezione di riepilogo o dei prezzi. Ciò renderebbe più difficile, quindi, controllare il modo in cui venivano visualizzati o creare collegamenti tra diversi tipi di contenuti correlati.

Qui è dove usare i campi è essenziale. È possibile creare un campo di riepilogo di tipo Testo lungo nonché campi di prezzo di tipo Decimale.

Entità

Un'entità sarebbe un'istanza di un particolare tipo di entità, ad esempio un commento, un termine di tassonomia o un profilo utente o un pacchetto, ad esempio un post di blog, un articolo o un prodotto.

Puoi usare entity_load per caricare qualsiasi entità. Si noti, tuttavia, che il core non fornisce una funzione di salvataggio o di eliminazione, ma grazie al modulo Entity API vengono aggiunti i pezzi mancanti (entity_create (), entity_save (), entity_delete (), entity_view () e entity_access ()).

Mettendo questo in termini di progettazione / programmazione orientata agli oggetti ...

Se provi da un background OOD / P e stai cercando di capire meglio quali sono questi concetti chiave, la seguente mappa suggerita potrebbe aiutare (anche se non strettamente dal punto di vista di un purista):

  • Un tipo di entità è una classe base
  • Un pacchetto è una classe estesa
  • Un campo è un'istanza di classe , proprietà , variabile o campo (a seconda delle preferenze di denominazione)
  • Un'entità è un oggetto o un'istanza di una classe base o estesa

Tutti questi quattro concetti OOD / P sono speciali in quanto sono serializzabili (memorizzati, ad esempio in un database o file). La serializzazione avviene tramite l'API Entity.

Installazione di Drupal 8 con Drupal Console

Console Drupal

La nuova CLI per Drupal. Uno strumento per generare codice boilerplate, interagire ed eseguire il debug di Drupal.

Per prima cosa, dobbiamo installare Drupal Console.

Drupal Console è necessaria non solo per questa volta, ma per installazioni future.

# Run this in your terminal to get the latest project version:
curl https://drupalconsole.com/installer -L -o drupal.phar

# Or if you don't have curl:
php -r "readfile('https://drupalconsole.com/installer');" > drupal.phar

# Accessing from anywhere on your system:
mv drupal.phar /usr/local/bin/drupal

# Apply executable permissions on the downloaded file:
chmod +x /usr/local/bin/drupal

# Copy configuration files to user home directory:
drupal init --override

# Check and validate system requirements
drupal check
 

Puoi chiamare drupal list per vedere tutti i comandi disponibili.

Nel prossimo passo scaricheremo il codice sorgente di Drupal

drupal site:new
 

Console ti chiederà di scegliere una cartella per scaricare Drupal. E nel prossimo passo ti verrà chiesto di scegliere la versione di Drupal da scaricare. Consiglio di selezionare l'ultimo.

Quindi, quando Drupal viene scaricato, è necessario installarlo.

drupal site:install
 

Dopo pochi semplici passaggi il tuo sito Drupal sarà pronto.

Con questa metodologia, una nuova installazione di Drupal ci porta da 5 a 7 minuti dalla riga di comando.

Installazione di Drupal con Drush

drush dl drupal --drupal-project-rename=example
cd example
drush site-install standard --db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' --site-name=Example