[Offro birra] Gruppi in View

13 contenuti / 0 new
Ultimo contenuto
[Offro birra] Gruppi in View

Ciao a tutti,
Ho bisogno di aiuto per risolvere un problema che ho su una View
Attualmente lo scenario è questo:

Ho due Content Type, il Prodotti e Categorie e Prodotti contiene una Entity Reference a Categoria.
In questo momento nella pagina della Categoria c'è una View Block (Tabella) che elenca tutti i prodotti appartenenti alla categoria (con un Contextual Filter).

Mi hanno richiesto una modifica: Poter inserire dei gruppi di prodotti...

Sono in seria difficoltà su questa cosa, ho tentato di intraprendere diverse strade ma poi mi sono sempre bloccato perchè non so come continuare.

C'è qualcuno ha avuto lo stesso problema? (immagino di si) e ha voglia di aiutarmi a risolverlo?

P.S. Offrirò una birra (via PayPal) a chi si prenderà a cuore il mio problema e mi darà un aiuto concreto :)
Grazie.

Drupal Version:

Riscrivo la prima riga perchè mi è uscito un mescolone:

Ho due Content Type, Prodotti e Categorie. Prodotti contiene una Entity Reference a Categoria.

--
G.

In che senso dei gruppi di prodotti? Non basta la tassonomia per categorizzare?

...enter at your own risk...

Vorrei estrarre tutti i Prodotti e se un prodotto appartiene ad un gruppo, estrarre tutto il gruppo, e vorrei che il risultato fosse:

- Prodotto 1
- Prodotto 2
- Gruppo 1
--- Prodotto 3
--- Prodotto 4
- Gruppo 2
--- Prodotto 5

(Noto con disappunto che non viene indentata bene l'organizzazione)
P.S. Non ho mai usato la tassonomia

--
G.

Ciao,
te vuoi raggruppare tutti i prodotti nei rispettivi gruppi (se appartenenti)?
(Simile alla funzione "GROUP BY" di SQL?)

Direi che in parole povere è così.

--
G.

Allora è semplice. Associ i prodotti a un vocabolario della tassonomia. Ogni prodotto sarà in una categoria. Poi nella view raggruppi per termine del vocabolario. Io direi: comincia a dare un occhio, capisci il meccanismo e se poi ti blocchi in qualche punto torna qua a chiedere :)

...enter at your own risk...

Dovresti quindi crearti una view relativa ai prodotti e tramite il campo di riferimento/collegamento relazionare il prodotto con la Categoria..poi ti basterà aggiungere un campo della Categoria (es. Titolo) e raggrupparlo per quest'ultimo..
(si lo so non sono bravo a spiegarmi:( )

ipotiziamo di avere "Prodotto" e "Categoria" e tramite il campo "RiferCategoria" di "Prodotto" il collegamento tra i due..

Ti basta crearti una view che elenchi tutti i "Prodotto".
Ti relazioni nella view "Prodotto" con "Categoria" inserendo una relazione (colonna "RELATIONSHIPS" sulla destra della view edit): ti basta aggiungere il campo di collegamento "RiferCategoria" (se setti la relazione come "richiesta/obbligatoria" non vedrai i "Prodotto" che non hanno una "Categoria" collegata).

Fatto ciò, aggiungi un campo a scelta di "Categoria" alla view (esempio: Titolo) e tramite le impostazioni del formattatore di visualizzazione della view (lo trovi sopra i campi della view appena inseriti), raggruppi ("Grouping field") tramite il campo di "Categoria" appena aggiunto.

Teoricamente dovresti avere il risultato:
-"Nome categoria A"
-- "Prodotto 01"
-- "Prodotto 02"
_"Nome categoria B"
-- "Prodotto 03"
-Prodotto 04

luca_cracco wrote:
Dovresti quindi crearti una view relativa ai prodotti e tramite il campo di riferimento/collegamento relazionare il prodotto con la Categoria..poi ti basterà aggiungere un campo della Categoria (es. Titolo) e raggrupparlo per quest'ultimo..
(si lo so non sono bravo a spiegarmi:( )

ipotiziamo di avere "Prodotto" e "Categoria" e tramite il campo "RiferCategoria" di "Prodotto" il collegamento tra i due..

Ti basta crearti una view che elenchi tutti i "Prodotto".
Ti relazioni nella view "Prodotto" con "Categoria" inserendo una relazione (colonna "RELATIONSHIPS" sulla destra della view edit): ti basta aggiungere il campo di collegamento "RiferCategoria" (se setti la relazione come "richiesta/obbligatoria" non vedrai i "Prodotto" che non hanno una "Categoria" collegata).

Fin qui è quello che ho fatto, cioè quello che era già ...

luca_cracco wrote:
Fatto ciò, aggiungi un campo a scelta di "Categoria" alla view (esempio: Titolo) e tramite le impostazioni del formattatore di visualizzazione della view (lo trovi sopra i campi della view appena inseriti), raggruppi ("Grouping field") tramite il campo di "Categoria" appena aggiunto.

Non mi sono spiegato bene...
Non devo raggrupparli per Categoria (questo l'ho già fatto) ma per Gruppo di Prodotti:

Categoria ---> Gruppo di Prodotti ---> Prodotto.

A rigor di logica dovrei creare una "Sotto view" per raggruppare i prodotti in gruppi e poi collezionare tutti i gruppi nella View.

Ho pensato 2 strade:
1) Inserire in Prodotti una Entity Reference a Prodotti stessi (scartata perchè mi sembra più complicata)
2) Creare un nuovo Content Type "Gruppo" che ha una Entity Reference a Categoria, cambiando la Entity Reference del Prodotto da "Categoria" a "Gruppo".

Extra Complessità, il prodotto può appartenere O NO ad un gruppo di prodotti
Cioè, sia:
Categoria ---> Gruppo di Prodotti ---> Prodotto.
che:
Categoria ---> Prodotto.

Questo si potrebbe ovviare inserendo un gruppo "Nessun gruppo"

--
G.

Allora fai un tipo di contenuto Gruppi
Aggiungi a prodotti un campo enty reference del campo gruppi. (Considera di metterlo multiplo se sai che un prodotto può appartenere a più gruppi.
Crea il gruppo "nessun gruppo", così ti semplifichi la vita per le views.
Però qui c'è una domanda riferita alla relazione,
Un prodotto può appartenere a più Categorie? credo di no, (relazione "1a molti")
Un prodotto può appartenere a più gruppi? credo di si (relazione "molti a molti")
In questo caso lo schema che hai fatto, non può essere
Categoria-gruppo-prodotti ma
Categoria-prodotti 1 a molti
Gruppo-Prodotti Molti a Molti
e le Views, le crei partendo dal tipo di contenuto Prodotti, aggiungendo i campi delle entità relazionate Gruppi) e filtrando o raggruppando per quel che ti serve.

Tommy55 wrote:
Un prodotto può appartenere a più Categorie? credo di no, (relazione "1a molti")

No
Tommy55 wrote:
Un prodotto può appartenere a più gruppi? credo di si (relazione "molti a molti")

No

--
G.

Io utilizzerei semplicemente la tassonomia:
- crei un vocabolario "Gruppo" con dentro tutti i termini/gruppi che vuoi;
- aggiungi sul Prodotto un campo "Gruppo" di tipo "Term reference";
- nella view che hai giá fatto aggiungi il campo "Gruppo" e raggruppi i risultati in base al nuovo campo.

Troppo semplice?

Alla fine ho risolto in questo modo:
Partendo da come era:
1) Ho aggiunto il CT Gruppo.
2) Ho aggiunto al prodotto la Entity Reference Gruppo.
3) Ho aggiunto la colonna con il gruppo di appartenenza.
4) Ho Aggiunto l'ordinamento per "Gruppo"

A questo punto la tabella contiene anche la colonna gruppo.

Usando jQuery ho poi ricostruito la tabella.
Vi includerei le immagini prima/dopo, ma imageshack è diventato a pagamento ...

--
G.