Vista dentro ogni nodo dello stesso tipo

3 contenuti / 0 new
Ultimo contenuto
Vista dentro ogni nodo dello stesso tipo

Salve a tutti,
vorrei chiedere se è fattibile fare una certa cosa che ho in mente...
Premessa: in un sito aziendale sto creando un'anagrafica clienti. Ho creato un tipo di contenuto "Cliente" e l'ho impostato con tutta una serie di campi di riferimento termine, ciascuno riferito ad un vocabolario di tassonomia. C'è un campo così per ciascun dato del cliente (Denominazione, codice cliente, partita iva o c.f., numero di telefono, ecc ecc ecc ecc....) in modo tale che poi creando una vista a tabella che richiami tutti questi campi, nella tabella si crei un elenco clienti, io poi con i filtri esposti posso effettuare una ricerca mirata ad esempio in base al codice cliente, alla partita iva, al numero di telefono, al C.A.P., ecc ecc ecc... fin qui tutto perfettamente chiaro e la vista funziona alla grande, sono molto soddisfatto del risultato. Nel tipo di contenuto "Cliente", dopo tutti i dati anagrafici e commerciali inseriti come riferimento termine, è presente anche un capo di testo (come il body in pratica), che ho denominato "Storico", in cui annotiamo manualmente le varie prestazioni fornite a quel cliente, con data, descrizione, numero della relativa fattura, importo ecc...
Ora il gioco si complica: analogamente all'anagrafica clienti, vorrei creare anche come una "anagrafica" fatture, registrarle cioè sul sito man mano che le emettiamo (l'emissione delle fatture avviene in maniera tradizionale, niente commerce o software gestionale, si tratta di una piccola azienda artigiana). Di per se potrei fare la stessa cosa, cioè creare un tipo di contenuto "Fattura" con tutti i campi necessari che andrei a impostare come riferimento termine in modo tale che creando una vista a tabella mi dia un elenco delle fatture, filtrabile secondo i vari campi... questo lo so fare in totale autonomia.
Il problema è questo: come posso fare per far comparire la vista per le fatture all'interno di ciascuna pagina di tipo cliente? In pratica io vorrei sostituire con una vista così il campo "Storico" nelle pagine di tipo "Cliente", in modo tale che quando l'azienda fa un lavoro, carica semplicemente la nuova fattura aggiungendo un contenuto di tipo "Fattura", senza dover poi andare ad annotare manualmente sulla pagina del singolo cliente. La mia difficoltà sta nel pre-impostare un filtro a seconda della pagina. Mi spiego meglio: la vista fatture potrei impostarla come blocco che si visualizzi in tutte le pagine di tipo cliente, ma in ciascuna pagina cliente avrei un elenco completo di tutte le fatture. Io invece vorrei fare in modo che nella pagina del cliente "Mario Rossi" (per esempio), la vista fatture elenchi solo le fatture riferite al cliente "Mario Rossi" (ovviamente io nel tipo di contenuto "Fatture" introdurrei un campo che faccia riferimento al vocabolario "codice cliente", in modo da poter riferire ciascun contenuto fattura al cliente corrispondente). Questa cosa, sperando di essere riuscito ad esporre con chiarezza quel che vorrei realizzare, si può fare?
Grazie mille!

P.S. - Ovviamente per tutti questi contenuti i permessi precludono la visualizzazione agli utenti anonimi e sul sito gli unici account sono quelli di amministrazione e del titolare.

Drupal Version:

Premessa: uso Drupal in inglese e dovresti farlo anche tu (così da avere i riferimenti uguali agli altri quando cerchi aiuto online)

Quello che vuoi fare è fattibilissimo e semplice.
Devi utilizzare i "Contextual filters" (nella View sono sotto Advanced, in alto a destra).
I contextual filters sono filtri che variano in base al contesto in cui si trova la view.
Possono ad esempio prendere l'ID del nodo nella pagina che stai visitando e applicarlo come filtro alla view stessa, in aggiunta ai filtri normali (utile nel tuo caso).

Per poi inserire il risultato hai 2 possibilità a seconda di come gestisci la visualizzazione della pagina:

se usi direttamente il Manage Display (magari con Display Suite?) del tipo di contenuto c'e' il modulo EVA (Entity Views Attachment) che ti permette di inserire una View come se fosse un campo standard del nodo.

se usi Panels (consiglio), saresti ancora più flessibile: con la View creeresti un "Content Pane" invece di un blocco o una pagina.
Un Content pane non è altro che un blocco intelligente che poi puoi piazzare in una pagina di Panels (e una pagina di Panels è una pagina intelligente che può essere sia una pagina statica custom tipo tuosito.com/servizi, che una serie di pagine "dinamiche" tipo tuosito.com/cliente/XX/servizi).

Quando lo inserisci in Panels, essendo "intelligente", puoi dirgli i valori disponibili nella pagina da associare ai contextual filters (oltre che sovrascrivere altre impostazioni della View come il titolo, i pagers, etc.).
I valori disponibili (possono essere aggiunti) sono ad esempio il ruolo dell'utente, il valore di un campo del nodo che stai visitando, un valore fisso inserito etc.etc.

Studiati un po' queste soluzioni e se hai bisogno chiedi ancora qui ;)
Ciao,
Lorenzo

Ciao! Ho delle difficoltà con i contextual filters, non li ho mai usati e con l'interfaccia mezzo in inglese mezzo in italiano (non so perché, ma non è tradotto tutto... e la mia conoscenza dell'inglese è poco più che scolastica...) non sto capendo come impostarli. Il tipo di contenuto "Fattura" e il tipo di contenuto "Clienti" hanno entrambi un campo di riferimento termine che richiama allo stesso vocabolario di tassonomia, questo denominato "Denominazione cliente". Io pensavo che impostando il contextual filter su quel vocabolario di tassonomia che entrambi i tipi di contenuti hanno, la vista inserita nello specifico nodo mi consentisse in pratica di vedere nella pagina cliente "Mario Rossi" (cioè quella nel cui campo di riferimento termine io ho selezionato il termine "Mario Rossi") un elenco delle sole fatture riferite a "Mario Rossi" (cioè quelle fatture in cui, creando i loro nodi, ho selezionato il medesimo termine "Mario Rossi" per riferirle a quel cliente..).
Non riesco però a capire perchè invece, dopo aver provato a impostare il contextual filter così, la vista scompare completamente dalle pagine clienti. Eliminando il contextual filter, la vista riappare nelle pagine clienti, ma ovviamente facendo vedere tutto l'elenco, quindi anche le fatture degli altri clienti... Non ho ne EVA ne Panels, per ora ho provato a inserire la vista come blocco, l'ho settata in modo tale che compaia solo nelle pagine di tipo di contenuto "Cliente". Il contextual filter funziona inserendo la vista come blocco nelle pagine o devo per forza utilizzare EVA o Panels?