Ciao a tutti, avrei la necessità di creare un layout personalizzato per la pagina di un prodotto raggruppabile. Ho già fatto le modifiche di programmazione che mi servono, ora devo fare quelle grafiche. Il problema è che se applico le regole css che voglio Magento ovviamente le prende in considerazione per tutti i prodotti ( in particolare spostare il div product-shop nel file view.phtml). Come faccio a creare un layout personalizzato con delle classi apposta? Non parlo a livello di html o css ma proprio dove devo andare a crearlo?
su magento ci sono diverse vie, se la modifica è solo a livello css potresti anche aggiungere un foglio di stile solo per quel prodotto, andandolo ad inserire come layout update (codice xml) nella scheda del prodotto da backend
oppure potresti richiamare un diverso phtml impostando un template “figlio” differente, ma per far questo devi aver seguito una corretta alberatura package-tema nel tuo template, non so quale delle due per te risulta più semplice…
un’altra alternativa potrebbe essere fare una if nella view.phtml del prodotto e scrivere determinate classi se sei in un prodotto con un determinato sku, diciamo che il limite è la fantasia
Ciao e grazie mille per la risposta.
Allora direi che la prima scelta mi pare la più semplice da fare : nella pagina di design del prodotto devo modificare il layout, cosa dovrei scrivere per applicare un foglio di stile diverso?
Anche la via dell’If mi sembra fattibile ma vorrei evitare di avere poi un view.phtml pieno di condizioni nel caso dovessi poi creare altri layout personalizzati
allora come dice il buon daniele esistono diverse vie ma l’if mi pare un pò sconveniente e non alla portata di chiunque
Per quello che so, esistono due modi:
- Il più semplice è creare un secondo design all’interno dello stesso design package con la variante del tema da usare (sia a livello template che a livello css dipende dall’entità della modifica).
- Un pò meno semplice e richiede la conoscenza dell’xml è la via del layout updade. Sostanzialmente anche in questo caso dipende dalle modifiche da fare. Per una semplice aggiunta di un file css puoi usare
grazie mille Cat! Con la semplice aggiunta del css ho risolto quello che volevo fare
Sono però intenzionato a capire meglio come creare layoutalternatvi. Nel senso che ne ho già creati alcuni per delle pagine (in particolare una per il layout a 2 colonne) però non riesco a replicare il procedimento quando di mezzo c’è la view.phtml
ne approfitto per fare ancora una domanda , come faccio ad eliminare il blocco “media” dalla pagina del prodotto, sempre contando che voglio toglierlo solo da quella pagina quindi sempre un update del layout?
dunque per modificare il layout intero devi agire sul blocco “root” e usare l’action setTemplate per cambiare il file phtml. Questa regola in genere è valida per qualsiasi blocco.
Per quanto riguarda la rimozione di un blocco, esiste il tag apposito <remove name="nomeblocco">.
Quello che ho scritto io è
<reference name="content">
<remove name = “product.info.media">
</reference>
eppure quando tento di salvare mi da sempre un errore di xml invalid
funge! mancava un / finale al tag di elimnazione!
Comunque davvero io ho sempre lavorato con prestashop e passare a magento mi sta creando non pochi problemi
Comunque davvero io ho sempre lavorato con prestashop e passare a magento mi sta creando non pochi problemi
in fase iniziale è normale, passato lo scoglio di capirne il meccanismo, probabilmente qualche problema te lo creerà ancora, ma ti regalerà anche belle soddisfazioni