Indice

🟦Pronta 🟨Bozza 🟥Da scrivere

Gestione base dei Contenuti

Inserire, cercare, modificare, nascondere ed eliminare Contenuti. Precaricare Campi di un Contenuto.
Aggiornata il:
Stato: 🟦Pronta

Con la Guida precedente hai creato uno o più Tipi di Contenuto dove memorizzare le informazioni della tua app. Vediamo ora i comandi base disponibili all'Amministratore per iniziare a popolare la app di Contenuti. Questi comandi sono sufficienti per la app "Miei Libri" perché l'unico Utente è proprio l'Amministratore. Nelle Guide successive vedremo come preparare e mettere a disposizione degli Utenti alcune funzioni di gestione dei Contenuti, come previsto nella app "Prestiti tra Vicini". 

Creare nuovi Contenuti

Costruito un Tipo di Contenuto, per creare un Contenuto di quel tipo usa il comando Contenuto - Aggiungi contenuto e seleziona il Tipo di Contenuto. Ti viene mostrata la pagina di creazione in cui compilare i Campi del nuovo Contenuto. La stessa pagina è richiamabile col link:

/node/add/tipo_contenuto

dove tipo_contenuto è il nome interno del Tipo di Contenuto che stai creando, es:

/node/add/prestito

Se l'ordine con cui i Campi sono mostrati nella pagina di creazione non ti soddisfa, col comando Struttura - Tipi di contenuto - Gestione visualizzazione form a fianco del Tipo di Contenuto richiami una pagina in cui puoi riordinare i Campi trascinandoli. Nella medesima pagina, per alcuni tipi di Campi puoi anche cambiare la modalità (Widget) con cui compilarli. I Widget disponibili dipendono dal tipo di Campo e dai moduli installati. 

Precaricare i Campi di un nuovo Contenuto

In molte situazioni può risultare utile precaricare il valore di uno o più Campi di un Contenuto, per evitare all'Utente digitazione inutili ed errori. Il Campo può essere precaricato con un valore fisso (scritto nella configurazione del Campo) oppure con un valore dinamico (scritto nel link di lancio della pagina di creazione del Contenuto).

PRECARICARE UN VALORE FISSO

In Struttura - Tipi di Contenuto seleziona Gestione Campi del Tipo di Contenuto, clicca Modifica sul Campo, attiva Set default value e digita o seleziona il valore di default: nella pagina di creazione di un nuovo Contenuto di quel tipo il Campo apparirà precaricato con quel valore, che l'Utente potrà modificare. Se il Campo è di tipo Riferimento, per poter selezionare come default una specifica Entità richiamata in quel Campo devi averla già caricata nella app.

PRECARICARE UN VALORE DINAMICO

Questa soluzione consente di precaricare un Campo di un nuovo Contenuto tenendo conto del contesto in cui avviene la creazione. Ad esempio, nella app "Prestiti tra Vicini" il tipo di Contenuto "Prestito" ha un Campo riferimento "Oggetto" che richiama l'Oggetto chiesto in prestito; volendo presentare all'Utente un comando "Chiedi in prestito" mentre sta guardando uno specifico Oggetto, precaricheremo nel Campo "Oggetto" del nuovo Prestito l'identificativo di quell'Oggetto, evitando così che l'Utente debba selezionarlo nuovamente.

Per ottenere questo risultato serve il modulo aggiuntivo Entity Prepopulate. Installato ed attivato il modulo, devi (a) configurare il Campo "Oggetto" del Prestito a ricevere via link l'identificativo dell'Oggetto e (b) scrivere l'identificativo dell'Oggetto nel link di richiamo della pagina di creazione del Prestito.

a. Configurare il Campo a ricevere un valore via link

Per predisporre  il Campo "Oggetto" del Prestito a ricevere via link l'identificativo del Prestito:

  • vai in Struttura - Tipi di contenuto - Prestito - Gestisci Campi - Oggetto - Modifica
  • nella sezione Entity Prepopulate digita il Token [current-page:query:oggetto]

Il Token [current-page:query:oggetto] (messo a disposizione dal modulo "Entity Prepopulate") consente di recuperare dal link della pagina corrente il valore associato all'argomento "oggetto". Come sempre, non è necessario ricordare il Token a memoria, perché è tra quelli elencati nella pagina di configurazione del Campo. Non è necessario che l'argomento si chiami proprio come il Campo, funzionerebbe lo stesso se al posto di "oggetto" scrivessimo "id", "ogg" o una qualunque altra parola.

b. Scrivere nel link il valore del Campo  

Abbiamo già visto che il link per richiamare la pagina di creazione di un Prestito è:

/node/add/prestito

Per precaricare nel Campo "oggetto" del nuovo Prestito uno specifico Oggetto, scriviamo il suo identificativo (es. 371) nel link nel seguente modo:

/node/add/prestito?oggetto=371

Vedremo più avanti come costruire questi link, deducendo automaticamente dal contesto l'identificativo da scrivere nel link.

.c. Precaricare dinamicamente più campi

Con la stessa tecnica, possiamo precaricare dinamicamente più Campi, concatenandoli in questo modo:

/node/add/richiesta?argomento1=valore1&argomento2=valore2&argomento3=valore3

Il carattere ? inizia l'elenco delle coppie argomento=valore ed il carattere & separa le diverse coppie tra loro.

Cercare i Contenuti

Come Amministratore, nella sezione Contenuto trovi un semplice modulo per la ricerca dei Contenuti inseriti. Gli altri Utenti useranno il motore di ricerca di Drupal o - meglio - le Viste che tu metterai a loro disposizione.  

Come viene mostrato un Contenuto

Ogni Contenuto inserito è visibile alla pagina:

/node/ID

dove ID è l'identificativo del Contenuto.

Se l'ordine con cui i Campi sono mostrati nella pagina di visualizzazione non ti soddisfa, vai in Struttura - Tipi di contenuto e seleziona  Gestione visualizzazione a fianco del Tipo di Contenuto: oltre a modificare l'ordine, puoi anche nascondere Campi o le loro etichette e, per alcuni tipi di Campi, modificare la modalità (Widget) con cui è mostrato il valore. Per nascondere un Campo basta trascinarlo sotto Disattivati. 

Vedremo più avanti come migliorare ed arricchire la pagina di visualizzazione dei Contenuti.

Modificare un Contenuto

Per modificare un Contenuto, vai nella sua pagina di visualizzazione e clicca Modifica. Puoi anche andare direttamente alla pagina di modifica con questo link:

/node/ID/edit

Eliminare un Contenuto

Per eliminare un Contenuto, vai alla sua pagina di visualizzazione e clicca Elimina. Puoi anche andare direttamente alla pagina di eliminazione con questo link:

/node/ID/delete

Un Contenuto eliminato non è più recuperabile.

Nascondere un Contenuto

Se vuoi rendere invisibile un Contenuto senza eliminarlo (ad esempio per ripresentarlo più avanti), vai in Modifica del Contenuto e disattiva il Campo Pubblicato.