Layout personalizzato pagine
Ciao, per un progetto, devo realizzare un sito "vetrina" con Drupal 7. Di solito uso altri CMS e tanto PHP, ma in questo caso il cliente ha le sue richieste e devo eseguire.
Quindi ho smanettato e imprecato, alla fine sono riuscito a creare una pagina con l'elenco dei miei prodotti.
Ho fatto così: Structure > Content Types > Add Content types e ho creato la mia maschera, con i campi necessari (compreso un campo a radiobox "categoria")
Poi: Structure > Views > Add view e ho creato le tre view necessarie per mostrare "immagine", "nome prodotto", "prezzo", "descrizione small". 3 diverse per poter visualizzare le tre categorie differenti, tramite il Content: categoria (= xxx).
Poi, tramite il modulo "Context", visualizzo le tre view se il nodo è X.
Fin qui, a fatica, ma sono riuscito.
Ora, quello che chiedo a voi esperti è: come faccio a impaginare la pagina del singolo prodotto???
Quello che ottengo io è un puro elenco di tutti i campi che ho inserito. Dove posso formattare qualunque cosa? è una view? è un context? devo creare un template a parte? e se un template, come faccio a dire che quel tipo di contenuto deve essere legato a quello?
Grazie, Aculine.
Risposte
Ciao, non è ben chiaro cosa
Ciao, non è ben chiaro cosa tu stia facendo (ed il titolo che hai impostato al 3D non aiuta...), è un e-commerce? Devi solamente creare le pagine dei prodotti? Che devi fare?
Per impaginare una pagina devi "giocare" con i css e, se necessario differenziarla dalle altre del sito, creare una pagina ad hoc nel tema, creando il relativo file.tpl nominato in modo tale da farlo utilizzare solamente con un determinato tipo di contenuto, per fare ciò devi studiarti il theming di drupal per capire come funziona.
Grazie Niubbo75, scusa per il
Grazie Niubbo75, scusa per il titolo, ma non so proprio come spiegarmi :(
in pratica è come se dovessi fare un ecommerce, ma senza il pagamento. Solo la visualizzazione del catalogo. Ma una cosa semplice semplice: titolo, foto descrizione e un link verso un altro sito.
Ho acquistato un tema bello impacchettato con anche il modulo commerce e tutte le pagine già create, ma non capisco come togliergli delle funzioni, quindi ho preferito partire da zero e creare la pagine "categorie" e funziona, come descritto, ma non capisco come impaginare la pagina del singolo prodotto.
Penso che prima di partire con i CSS, dovrei riuscire ad imbastire il tutto in un codice perchè alcuni campi che ho inserito, non devono risultare nella schermata del prodotto.
Mamma che confusione...
ho preferito partire da zero
Per l'impaginazione devi lavorare sui CSS e, se necessario, crearti la tua pagina tpl costruita come serve a te.
Se non devono risultare nella schermata, allora perché li hai inseriti?
A mio avviso dovresti partire con uno schema logico di quello che vuoi che il sito faccia, quando avrai chiarito quello, pensa a come farglielo fare, magari mi sbaglio ma mi sembra di vedere un po' di confusione mentale... ;-)
Ecco, quello che io stavo
Ecco, quello che io stavo cercando e non riuscivo a spiegarmi era proprio questo:
[quote]...crearti la tua pagina tpl costruita come serve a te.[/quote]
Quando ho capito che era una strada percorribile, ho rinominato una pagina "page--product_display.tpl.php" del tema originale in "page--mioContentType.tpl.php" e ho inziato a fare qualche modifica, così ho iniziato a vedere la luce. Almeno sapevo cosa dovevo cercare!
Così ho trovato un post (https://www.drupal.org/node/2288941#comment-8910597) che diceva di usare una chiamata di questo tipo:
Ecco! Ci siamo! ora posso formattare tutto quello che voglio, chiamando i miei campi e usandoli come ho bisogno!
Ora ho solo un paio di errori di PHP da capire, ma troverò sicuramente la soluzione. (Strict warning: Only variables should be passed by reference in include() (line 30 of .../page--mioContentType.tpl.php).)
Sono felice.
?
concludo con la soluzione
concludo con la soluzione all'errore:
render(...) non sopporta che gli vengano passate non variabili, quindi occorre creare una variabile con "field_view_field" e stampare quella:
così funziona tutto.
Grazie a tutti per il supporto!
Luca.