maofree Posted October 10, 2012 Share Posted October 10, 2012 (edited) Ciao spero che questa mini guida possa aiutarvi ad ottimizzare al meglio il vostro sito ecommerce utilizzando la tecnica dell'override, presente nella 1.5, per evitare di perdere le modifiche fatte a files: php (classes o controllers) oppure files: js, css e tpl (presenti nei moduli da voi utilizzati). L'override per i files php è possibile farli solamente per quelli presenti nella cartella /classes/ e per quelli presenti nella cartella /controllers/ per quelli della classes basta andare ad inserire la funzione che si vuole modificare. es. /override/classes/db/DB.php per quelli della controllers bisogna riportare il contenuto del file che si vuole modificare ricordandosi di modificare il nome della classe es. /override/front/CartController.php class CartController extends CartControllerCore Premendo sul seguente link è possibile leggere come risolvere il problema della cache per l'override dei files della cartella /controllers/ http://forge.prestas...owse/PSCFV-8600 (You need to trigger the regeneration of the /cache/class_index.php file. This is done simply by deleting the file. It is the same when manually removing an override: in order to reinstate the default behavior, you must delete the /cache/class_index.php file.) Sto scrivendo questa guida non tanto per modificare i files php che ho indicato in precedenza, perchè sicuramente ci sarebbe molto altro da scrivere di natura un pò complicata per un uso generale, ma per descrivere come utilizzare questa tecnica per evitare di modifcare moduli e template ad ogni aggiornamento di prestashop, che con l'utilizzo del modulo 1-click upgrade è sicuramente più facile e veloce e quindi frequenti. Partiamo dal template di default di prestashop la prima cosa da fare è andare nella cartella /themes/default e farne una copia rinominandola es. mytheme posizionandola sempre all'interno di themes/ Adesso andate nel BO nella sezione temi ed aggiungete un nuovo elemento per utilizzare il nuovo template (riportate l'esatto nome di quello da voi utilizzato, in questo caso mytheme). Adesso potete modificare tutti i file tpl, js e css del template come avete sempre fatto, ricordandovi di abilitare il force compile dal BO. La tecnica dell'override serve quando, per ottenere la grafica voluta, dovete intervenire sui files tpl, js, css dei moduli di prestashop da voi utilizzati. In pratica questa tecnica non è altro che una protezione delle modifiche fatte dai futuri aggiornamenti del sito che andranno a sovrascivere il files presenti nel vostro sito. es. se dovete, come spesso succede, modificare i files del modulo homefeatured dovete procedere in questo modo: per modificare homefeatured.tpl creare una cartella modules /themes/mytheme/modules/ inserite un file index.php (quello che trovate nella cartella themes va bene) in questa cartella appena creata e poi al suo interno create una nuova cartella con lo stesso nome del modulo in questione /themes/mytheme/modules/homefeatured/ con al suo interno una copia dello stesso file index.php ed il file originale homefeatured.tpl, senza doverlo rimuovere dalla sua cartella e modificate questo file come credete più giusto. se volete modificare homefeatured.css procedete allo stesso modo del file precedente create una cartella modules in /themes/mytheme/css/modules/ inserite lo stesso file index.php al suo interno create al suo interno una nuova cartella con nome del modulo /themes/mytheme/css/modules/homefeatured/ inserite al suo interno una copia dello stesso file index.php e aggiungete il file originale homefeatured.css, senza doverlo rimuovere dalla sua cartella e modificate questo file come credete più giusto. la stessa cosa nel caso di modifiche a file js /themes/mytheme/js/modules/nome_modulo/ In questo modo tutti i files da modificare si troverebbero nella cartella del vostro template, senza doversi ricordare i files delle modifiche fatte, risparmiando tempo ed evitando problemi con futuri aggiornamenti di prestashop. Quando avrete sistemato la grafica del vostro sito (modifica dei file tpl), potrete disabilitare il force compile ciaoooooo Edited August 19, 2013 by maofree (see edit history) 2 Link to comment Share on other sites More sharing options...
PEPPE83 Posted October 10, 2012 Share Posted October 10, 2012 cioè....se ho capito bene.....posso passare da 1.4.8.2 a 1.5.1 senza perdere le svariate modifiche fatte ai files? Link to comment Share on other sites More sharing options...
maofree Posted October 11, 2012 Author Share Posted October 11, 2012 ciao per fare l'aggiornamento alla 1.5 mi sa che le devi riportare nel template nuovo, che hanno modificato parecchio. Quindi in locale fai l'aggiornamento del sito, poi segui tutti i passaggi che ti ho scritto sopra per mettere le modifiche che hai fatto ai vari moduli di prestashop nel tuo template e poi non dovrai più farlo nei successivi aggiornamenti. Ovviamente dovrai modificare anche i file del tuo template ciao Link to comment Share on other sites More sharing options...
eugenata Posted October 11, 2012 Share Posted October 11, 2012 Molto interessante, grazie maofree. E' possibile modificare css e immagini di un modulo non standard? Ad esempio se volessi installare un tema natalizio e, avessi un modulo per slideshow e volessi "addobbarlo" provvisoriamente per le feste natalizie con una grafica diversa, dovrei sostituire alcune immagini (ad esempio le frecce prev/next). Come potrei farlo? Le immagini si trovano ad esempio nella cartella: mio-modulo/img / miaimmagine.jpg e il css si trova nella cartella: mio-modulo/css / mionomefogliodistile.css ho provato a mettere la cartelalì img un po' ovunque (all'interno della cartella mio-tema/css, oppure mio-tema/modules/mio-modulo, creando altre sottodirectory... ecc.) ma non va. A questo punto l'unica alternativa è rinominare il modulo.Oppure? Link to comment Share on other sites More sharing options...
maofree Posted October 11, 2012 Author Share Posted October 11, 2012 puoi fare quello che vuoi domanda?? ma quando fai modifiche a moduli o temi abiliti il force compile?? comunque dipende da come è strutturata la galleria e che tecniche utilizza prova a sostituire le immagini senza cambiare i loro nomi ciao Link to comment Share on other sites More sharing options...
eugenata Posted October 11, 2012 Share Posted October 11, 2012 puoi fare quello che vuoi domanda?? ma quando fai modifiche a moduli o temi abiliti il force compile?? comunque dipende da come è strutturata la galleria e che tecniche utilizza prova a sostituire le immagini senza cambiare i loro nomi ciao Sotituire, duplicare, modificare, lo posso fare senz problemi. L'obiettivo è un altro: avere lo stesso modulo con una grafica diversa quando si cambia tema. senza ulteriori interventi. E' questo il caso in cui volessi sostituire il tema ogni anno per il periodo di Natale. Mi basterebbe cambiare tema in modo che anche i moduli extra cambino grafica con il cambio del tema. Link to comment Share on other sites More sharing options...
maofree Posted October 11, 2012 Author Share Posted October 11, 2012 ciao eugenata la soluzione è semplice crei un altro tema con nome natale in themes/natale/ quindi ti troverai 3 temi default, mytheme (il tema che utilizzerai sempre) e natale fai una copia dei files di mytheme in natale e poi vai ad aggiungere le modifiche per il modulo della galleria (come ho spiegato sopra in base ai files che vai a modificare) riportando in esso le immagini che vuoi sostituire (dovrai cambiare gli url delle immagini nel file css). quando sarai nel periodo natalizio attivi questo nuovo tema e quando finisce ritorni a mytheme, l'importante è che quello di default di prestashop non venga mai utilizzato ciaooooo 1 Link to comment Share on other sites More sharing options...
innovaforniture Posted October 12, 2012 Share Posted October 12, 2012 ciao, volevo chiederti alcune cose in merito a questa guida in modo tale da aver chiaro il concetto e poterla utilizzare nel mio caso. Scusa la mia incompetenza in materia. Attualmente utilizzo prestashop 1.5.0.17 ed un tema scaricato gratuitamente chiamato shadow e adattato alle mie esigenze. Nel mio caso, correggimi se sbaglio, non ho bisogno di fare una copia della cartella default e rinominarla (come spiedato nella guida), ma basta utilizzare la cartella del tema shadow e copiare all'interno i file originali da modificare seguendo la procedura da te descritta. Ho inoltre modificato alcuni moduli direttamente dai file originali. Copiando quest'ultimi nella cartella del mio tema ed aggiornando il mio sito alla nuova versione, mantengo le modifiche apportate in precedenza? Grazie come sempre per il tuo supporto Link to comment Share on other sites More sharing options...
maofree Posted October 13, 2012 Author Share Posted October 13, 2012 ciao il tema che hai scaricato è per la 1.5?? se si certo tutte le modifiche le fai dentro a quel template se i files css, js e tpl li metti nel template shadow, l'aggiornamento non comporta modifiche ai files di questo tema. C'è una spunta nel modulo 1-click upgrade per evitare che modifichi il tema di default ma per me è da evitare come soluzione. Se il template di base è sempre aggiornato utilizzando un programma di comparazione di files potete notare le variazioni rispetto al tema utilizzato e in caso di problemi avete subito funzionante un altro template. Lo sai quale sarà il problema che dovrai risolvere?? leggi l'altro wiki che ho fatto sul problema della rinomina dei nomi dei tipi d'immgine fatta da prestashop nella 1.5.1.0 ciao Link to comment Share on other sites More sharing options...
innovaforniture Posted October 13, 2012 Share Posted October 13, 2012 il tema l'ho scaricato quando avevo la versione 1.4.x e poi l'ho un po riadattato nel codice in base alle mie esigenze, e con il passaggio alla 1.5 non mi ha dato particolari problemi. Se non era compatibile non so che tipo di problemi doveva apportare. Io cmq ho sempre utilizzato l'aggiornamento manuale. L'altro topic, riguardante l'aggiornamento alla 1.5.1 e il problema delle immagini, l'ho letto ma prima di intraprendere tale procedura volevo capire se per utilizzare la tecnica dell'override devo partire da una versione vergine di prestashop oppure posso anche utilizzare una versione come la mia con le varie modifiche gia apportate a vari codici. Se mi permetto, credo che la procedura da utilizzare nel mio caso, è ricordare tutti i file da me modificati e inserire le copie di questi nella cartella del tema shadow e poi fare eventuali aggiornamente del sito (tenendo presente dell'altro tuo topic nel caso di aggiornamento alla 1.5.1) Link to comment Share on other sites More sharing options...
maofree Posted October 13, 2012 Author Share Posted October 13, 2012 ciao la tecnica dell'override non dipende dal tema, ma dalla versione di prestashop che implementa questa tecnica. Il tuo sistema vede le cartelle modules (con incluse quelle di alcuni tuoi moduli) presenti nel tuo tema e si comporta di conseguenza. certo tutte le modifche fatte devono andare nella cartella del template da te utilizzato. Durante l'aggiornamento i files dei moduli e del template (ovviamente anche quelli del core in php) di default saranno sovrascritti e quindi non riporteranno più le modifiche da te fatte, ma tanto prestashop prenderà in considerazione quelli presenti nel tuo template e non gli altri ciao Link to comment Share on other sites More sharing options...
innovaforniture Posted October 13, 2012 Share Posted October 13, 2012 (edited) Nonostante la mia mente bacata credo che mi sia tutto chiaro^_^ metterò in pratica quello che hai detto nelle mie prossime modifiche... e vedremo quello che accadrà ti ringrazio per tutto EDIT: ho provato a fare alcune modifiche al codice di alcuni moduli che utilizzo e il metodo da te descritto funziona egregiamente. Volevo solo chiederti un ultima cosa in merito. Quale è il file da salvare per fare il backup della formattazione dei testi delle schede prodotto e delle pagine CMS? Grazie come sempre Edited October 15, 2012 by innovaforniture (see edit history) Link to comment Share on other sites More sharing options...
dvanet Posted March 23, 2013 Share Posted March 23, 2013 Ciao a tutti, dopo qualche mese leggo per la prima volta questo post molto interessante. Vi chiedo: 1) conviene quindi organizzare fin dalla prima installazione della 1.5.x il tema clonato e lavorare su quello per fare ogni modifica? 2) Dopo un aggiornamento della versione di PS, per non perdere le modifiche fatte, basta copiare i file dalla cartella del tema "sicuro" nella cartella del tema default, giusto? a presto e grazie!!! Daniele Link to comment Share on other sites More sharing options...
maofree Posted March 23, 2013 Author Share Posted March 23, 2013 ciao dvanet 1) certo se no a cosa servirebbe questa operazione 2) stessa risposta, dato che l'aggiornamento va a modificare (se utilizzi 1click upgrade, puoi evitare di farglielo aggiornare, ma non è cosa consigliata, dato che potresti utilizzarli per compararli a quelli del tema clonato, per verificare gli aggiornamenti effettuati da prestashop e correggere eventuali errori nel tema da te creato) i files del template "default" e non quelli del template da te creato. consigli: se le modifiche da apportare ai files .css dei moduli son di poco conto, si può intervenire solamente sul file gloabal.css del tema clonato utilizzando !important es. se si volesse modificare il font-size del blocco blockuserinfo, senza dover creare una cartella modules all'interno di quella css del template con all'interno un'ulteriore cartella nominata "blockuserinfo" con il file css modificato, si potrebbe solamente aggiungere una riga di codice css nel file global.css (codice presente in blockuserinfo.css del modulo) #header_user_info { clear: both; float: right; font-size: 12px; margin-top: 10px; padding: 0; } (codice da aggiungere a global.css) #header_user_info {font-size: 15px !important;} questo avrà una maggiore priorità rispetto a quello del file blockuserinfo.css anche se situato prima dell'altro ciaoooo 1 Link to comment Share on other sites More sharing options...
dvanet Posted April 6, 2013 Share Posted April 6, 2013 Ciao Maofree, grazie mille per le tue precisazioni. a dire il vero non ho ancora provato in concreto perchè sto ancora finendo di importare i prodotti. al momento non ho nemmeno cambiato un modulo. sto usando un template comprato e per ora mi limito a capire la gestione delle cose base. ma davvero quello che hai scritto è molto interessante e ancor più utile. mi sono segnato il link così prima di iniziare a smanettare sulla grafica, procedo secondo il tuo metodo. grazie mille, Daniele Link to comment Share on other sites More sharing options...
dvanet Posted May 11, 2013 Share Posted May 11, 2013 Ciao Maofree! ho appena fatto delle modifiche seguendo i tuoi consigli. ho preso un modulo intero (il bankwire), l'ho copiato dalla cartella modules della root principale e l'ho inserito nella cartella modules del mio tema. poi su preferenze ho messo "forza compilazione" però quando provo a usarlo il modulo nella cartella della root principale ha priorità di quello della cartella del tema. come fare per impostare il mio modulo come principale? grazie mille e buon sabato, Daniele Link to comment Share on other sites More sharing options...
maofree Posted May 11, 2013 Author Share Posted May 11, 2013 Ciao Daniele dovresti rileggere più volte quello che ho scritto, perchè hai iniziato subito sbagliando Non devi prendere il modulo intero presente in modules/ Innanzitutto devi sapere che cosa vuoi modificare es. il codice css di default del modulo? se si la prima cosa da fare è vedere dove si trova il file css del modulo è nel template in global.css on in un altro files del template oppure nel modulo se vai a modificare i moduli di default di Prestashop, allora non è detto che siano nel modulo La quantità di codice che vuoi modificare è molta oppure giusto un paio di righe? se è poca roba allora conviene aggiungere quelle due righe in global.css e utilizzare la soluzione !important dato che global.css viene caricato prima dei files dei moduli se molta allora vai nel template e nella cartella css crei una sottocartella con nome "modules" e dentro ne metti un'altra con lo stesso nome del modulo, poi ci copi lo stesso file del modulo e lo modifichi. Se riguarda modifiche ai files tpl allora nella cartella principale del tuo tema vedrai una cartella modules e lì fai la stessa cosa, crei una cartella con lo stesso nome del modulo che stai andando a modificare, poi inserisci il file tpl originale del modulo e fai le modifiche che vuoi. In realtà per i files tpl bisognerebbe creare le stesse sottocartelle che includono il file originale, ma funziona anche in questo modo. Stessa cosa nel caso di modifiche ai files js del modulo Consiglio, prima d'installare un sistema ed utilizzarlo, sarebbe bene leggersi tutta la documentazione ufficiale del sistema, in questo caso di Prestashop. Si eviterebbero un sacco di errori. ciaooo 1 Link to comment Share on other sites More sharing options...
dvanet Posted May 12, 2013 Share Posted May 12, 2013 Ciao Maofree grazie davvero per la spiegazione. pensa mi ero riletto più volte le tue indicazioni....eppure. siccome ho modificato il file tpl ho agito così: 1) ricreato cartella miotema/modules/modulo-modificato 2) ricreato tutto il percorso di sottocartelle e nell'ultima ho inserito il file index.php e il file xxxx.tpl con le mie modifiche 3) tutti gli altri file sono dentro la cartella modules nella root principale Tutto sembra funzionare perfettamente. Tra un post e l'altro e le modifiche che sto apportando mi converrebbe davvero studiare per bene anche la guida di ps. peccato sia tutta in inglese e francese, le cose più tecniche mi sfuggono. Grazie per il tuo aiuto prezioso. Spero di aver imparato per bene così da poter replicare per i prossimi cambiamenti. A presto e buona serata, Daniele Link to comment Share on other sites More sharing options...
maofree Posted May 12, 2013 Author Share Posted May 12, 2013 adesso hai fatto tutto bene per le cose tecniche serve più tempo e studiarsi qualche guida. La difficoltà maggiore con Prestashop, per quanto riguarda la grafica, è comprendere a cosa serva e come funzioni smarty. Col tempo si supera anche questa difficoltà. ciao Link to comment Share on other sites More sharing options...
Budo Posted July 5, 2013 Share Posted July 5, 2013 Ciao, giuro che ho letto tutto e credo di aver quasi capito. Ho letto anche la guida (solo la parte sull'override). Magari sono ripetitivo e faccio delle domande idiote, ma è solo per essere sicuro di non sbagliare (è la prima volta) . Prestashop ultima versione. Template default intonso appena installato. Come hai detto ho creato una copia della cartella Default (tema) all'interno della directory Prestashop > Themes rinominandolo. Subito non ho capito: "Adesso andate nel BO nella sezione temi ed aggiungete un nuovo elemento per utilizzare il nuovo template" Io ho semplicemente selezionato il tema rinominato e funziona. Cosa dovrei fare esattamente? Poi: "se volete modificare homefeatured.css procedete allo stesso modo del file precedente create una cartella modules in /themes/mytheme/css/modules/." Intendi una sottocartella nominata Modules. Perché come sai esiste già la cartella Modules in Prestashop > Themes > Default. Giusto? Infine: "bisogna riportare il contenuto del file che si vuole modificare ricordandosi di modificare il nome della classe es. /override/front/CartController.php class CartController extends CartControllerCore" E qua credo proprio di non aver capito una cippa e mi serve perché vorrei eliminare dei campi dal modulo registrazione. Ecco come l'ho capita: Praticamente, vado nella directory Prestashop > Controllers > Front > AuthController.php. Copio questo file nella directory Prestashop > Override > Controllers > Front. E poi da qui lo modifico. Corretto? Per quanto riguardo invece la modifica dell'aspetto (Css) che ho notato essere praticamente tutta in Global.css che si trova appunto solo nella directory Prestashop > Themes > NomeTema > Css. Se volessi come dici cambiare l'aspetto di Homefeatured.css dovrei: Prestashop > Modules > Homefeatured > Homefeatured.css. Copiarlo e poi Prestashop > Themes > NomeTema > Modules > Qua Creo una sottocartella Modules > Qua creo una cartella con il nome Homefeatured> Qua dentro incollo il file Homefeatured.css. Poi da qua posso modificarlo. Tutto giusto? Grazie e scusa la rottura. Link to comment Share on other sites More sharing options...
maofree Posted July 5, 2013 Author Share Posted July 5, 2013 ciao ogni descrizione deve essere sempre provata e verificata, soprattutto perchè prestashop aggiorna di continuo il suo codice apportando molte modifiche ad ogni aggiornamento e poi si descrive in modo generico non tutti utilizzano il tema di default o la stessa versione. Se non trovi una cartella tipo modules allora la devi creare se no no. Stessa cosa per il BO per selezionare il tema. la cartella /themes/mytheme/css/modules/ è per i files .css dei moduli mentre quella /themes/mytheme/modules/ è per i files .tpl dei moduli per la parte dell'override dei files class o controller, se possibile la eviteri sempre perchè almeno nel mio caso ho visto che prestashop ha dei problemi, credo nella gestione cache del sistema, comunque puoi sempre provare. Comunque in override... il nome della classe deve essere cambiato, basta che guardi i files presenti in override per capire come rinominarli. per il css è giusto Ho visto che metti la maiuscola ai file, non lo fare, devono avere lo stesso nome dei files o cartelle originali ciao 1 Link to comment Share on other sites More sharing options...
Budo Posted July 5, 2013 Share Posted July 5, 2013 Si hai ragione ma ho scritto che avrei puntualizzato cose inutili. La tua mini-guida è perfetta, sono io che sono un po' pignolo essendo la prima volta sapendo però che fare queste cose con CMS sono fondamentali. Avrei solo una cosa da chiarire. Purtroppo l'override devo farlo perché voglio togliere dei campi da quel benedetto modulo di registrazione. Nella cartella override non ci sono file. Se apro, come nel tuo esempio, prestahop > controllers > front > CarController.php leggo alla prima riga: class CartControllerCore extends FrontController. Se è questa la class a cui ti riferisci, come bisogna cambiarla prima di incollare il file nella cartella override. Link to comment Share on other sites More sharing options...
Budo Posted July 5, 2013 Share Posted July 5, 2013 Azz ancora una volta avevi ragione non devo fare override del controller per togliere campi dal form di registrazione, devo solo toglierli dal .tpl Link to comment Share on other sites More sharing options...
Budo Posted July 5, 2013 Share Posted July 5, 2013 (edited) Rieccomi perché ho "scoperto" una cosa in quanto principiante. Alcuni file .tpl sono già presenti nel tema Default e l'unica cosa che cambia con quelli nella cartella prestashop è un <h> che diventa <p>. Si può dire quindi che questi file del tema sono gli override? E che quindi possono essere modificati senza paura per l'upgrade? Per concludere: la cartella override della directory prestashop serve esclusivamente per controllers e classes. Mentre per la modifica di file css e tpl basta semplicemente copiare i file dalla directory prestashop e incollarli nella directory modules del tema (eventualmente creando la cartella). Si tratta in definitiva di riprodurre il contenuto di quello che c'è nella directory prestashop all'interno del tema. Sbaglio? Inoltre il file che a me serve authentication.tpl (che ho già modificato con successo) si trova solo all'interno del tema però fuori dalla cartella modules. Come ci si comporta in questo caso dato che non esiste il corrispondente nella directory prestashop. P.S C'è un modo per testare se le modifiche resistono ad un upgrade oppure l'unica è installare la versione precedente. Grazie Edited July 5, 2013 by Budo (see edit history) Link to comment Share on other sites More sharing options...
maofree Posted July 6, 2013 Author Share Posted July 6, 2013 ciao stai facendo un pò di confusione, come è normale che sia. Es. per fare l'override del file AuthController.php presente in controllers/front/ dovrai copiare questo file in override/controllers/front/AuthController.php e cambiare il nome della classe da class AuthControllerCore extends FrontController { .... } a class AuthController extends AuthControllerCore { .... } prima di fare una modifica dovresti ragionarci un pò su, se no fai solo confusione Es. vuoi togliere dei campi dal form di refistrazione? se si quali? quelli obbligatori o non? per togliere quelli obbligatori dovrai fare delle modifiche anche al file del controller che gestisce quella pagina, se no ti segnalerà un errore. Ma sei sicuro che poi per il sistema che gestisce il tuo sito non siano importanti e magari con aggiornamenti futuri, non ti creino problemi? un sito di ecommerce è decisamente più complesso di un sito di presentazione. Se vuoi un consiglio fai solo le modifiche alla grafica o a qualche modulo, poi per il resto lascia così. Comunque sei libero di fare come credi, il sito è tuo. Per testare l'ovveride? basta che installi il modulo 1-click e selezioni versioni beta e provi ma non certo sul sito ufficiale ma su uno in locale usando sistemi come wampserver nel caso di files tipo authentication.tpl che non appartengono a moduli, per evitare la perdita di modifiche durante gli aggiornamenti del sito, basta creare una copia del tema di default e rinominarla. Se no a cosa sarebbe servito questo passaggio ??? ti consiglio di leggere qualche wiki fatto da Prestashop il prossimo wiki sarà inerente alla migrazione di un sito. È un operazione facile e veloce che è giusto sia alla portata di tutti. ciaooooooo 1 Link to comment Share on other sites More sharing options...
Budo Posted July 6, 2013 Share Posted July 6, 2013 ciao, sono già che mi stai mandando dei cancari, e che non pensavi esistesse uno così rompipalle. Però.....eccomi Per i cambiamenti estetici non ho nessun problema, conosco bene css2-3-4-5-6-7-8 .......e potrei trasformare il mio sito in una pera Purtroppo php, (come il tedesco alle superiori...azz "sapevo che dovevo impararlo") non lo capisco , non so scriverlo, però so togliere quello che non mi serve. Siccome devo vendere solo prodotti editoriali come libri, riviste, fumetti etc..., i campi cognome, date di nascita, paesi, il blocco fornitori per la ricerca, e altre robe, anche se non obbligatori non li voglio. Quindi, da ignorante, che però si è letto in inglese gli orribili wiki (non capendo una cippa), chiedo ad un esperto, le soluzioni giuste. Capirai che risulta un po' idiota provare perdendo tempo se tanto non si conosce una lingua (php), che ovviamente non si può imparare con PS. Quindi, tornando a noi, l'ultima questione che non mi torna riguarda la copia del tema. Se devo lavorare su una copia del tema di default (rinominato) come nel mio caso, apportando tutte le modifiche nel modo che hai insegnato, e poi per una sfiga colossale mi tocca ripristinare il tema originale (default), ovviamente perdo tutto. Quindi, se non erro, lavorare su una copia è come un'assicurazione. Si opera in questo modo solo per garantirsi, nella peggiore delle ipotesi, le funzionalità minime. Si potrebbe in teoria lavorare sull'originale impostando le funzioni vitali e al quel punto fare una copia e aggiungere il resto. Altrimenti, in fase di ripristino dovrei comunque reimpostare le funzionalità indispensabili. Corretto? Link to comment Share on other sites More sharing options...
maofree Posted July 6, 2013 Author Share Posted July 6, 2013 ciao sbagliato prendi il tema di prestashop lo chiami come ti pare ad esempio miotema (dovrà contenere tutti i files e sottocartelle del tema di default) poi da lì in poi lavorerai solo sul tuo tema. Ultimamente per fare l'upgrade del sito si utilizza il modulo 1-click upgrade, nel suo pannello trovi varie opzioni tra cui quella di aggiornare il tema di default (fa anche il backup per ripristinare il sito se qualcosa andasse storto, quindi tutta sta paura sul template secondo me è un pò esagerata, poi un backup a modifiche fatte non sarebbe male). Ti spiego come faccio io: faccio una copia di quello di default, poi faccio la grafica del sito su quello rinominato, poi quando si va ad aggiornare il sito gli faccio aggiornare anche quello di default e con un comparatore di file controllo le variazioni apportate nei vari files del tema di default e riporto queste modifiche sui files del mio tema. La spiegazione dell'override dei file php te l'ho già spiegata, ma ti ripeto ultimamente ha qualche problema. Se invece andassi a modificare quelli del core, ogni modifica andrebbe persa dopo l'aggiornamento del sito. Adesso ti lascio in balia dei tuoi dubbi ciaooooooo 1 Link to comment Share on other sites More sharing options...
Budo Posted July 6, 2013 Share Posted July 6, 2013 io rimango in balia e non ti rompo più però dimmi almeno dove trovo sto comparatore che sembra utile. gracias Link to comment Share on other sites More sharing options...
maofree Posted July 6, 2013 Author Share Posted July 6, 2013 ok http://winmerge.org/ confronta files in cerca di differenze nel codice http://notepad-plus-plus.org/ editor per vari linguaggi http://bluefish.openoffice.nl editor per linguaggi web http://www.wampserver.com sistema per poter sviluppare un sito sul proprio pc http://forum.joomlah...la-su-wamp.html tutorial questi sono per windows ma ce ne sono per ogni sistema operativo ciao 1 Link to comment Share on other sites More sharing options...
maofree Posted August 19, 2013 Author Share Posted August 19, 2013 ciao Premendo sul seguente link è possibile leggere come risolvere il problema della cache per l'override dei files della cartella /controllers/ http://forge.prestas...owse/PSCFV-8600 1 Link to comment Share on other sites More sharing options...
medinaoff Posted November 29, 2013 Share Posted November 29, 2013 Ciao volevo fare alcune domande: sto creando un un sito e siccome mi sono avvicinato da poco a questo mondo di prestashop, le domande sgorgano a fiumi però sarò breve. Sto ultimamente modificando dei file tpl e solo ora leggendo questo post mi sono reso conto che dovevo fare una copia del mio tema per non perdere poi le modifiche da me fatte. Ora vi chiedo: come posso risolvere ora questo problema? Nel senso che io ora ho il tema di default installato, delle modifiche fatte sul global.css e sui file tpl dei moduli nella cartella moduli della root del sito ed alcuni nella cartella moduli della root della cartella del tema. possibile soluzione: potrei fare una copia del tema sostituire copiare i file tpl modificati nella root principale di moduli del sito e metterli nella cartella moduli del tema? Stessa cosa con i css ecc per i altri? Il tutto perché ora mi sorge il dubbio che aggiornando prestashop non vorrei perdere le modifiche da me fatte Grazie in anticipo per le eventuali risposte Link to comment Share on other sites More sharing options...
maofree Posted November 29, 2013 Author Share Posted November 29, 2013 ciao medinaoff certo, ogni modifica la devi riportare nel template, quindi ripristini il codice di default dei files originali presenti in /modules e fai esattamente quello che ho scritto nella prima pagina. Comunque anche questa soluzione, che sarebbe un override dei files originali presenti in modules/, tipo quello che avviene per i files php del core di prestashop con la cartella ovverride/, ha sempre un problema con gli aggiornamenti. Es. se avete utilizzato questa soluzione (che poi è quella utilizzata da tutti i template a pagamento o free) per un sito che usa la 1.5.2 e volete aggiornarlo alla 1.5.6.1, potrebbero esserci delle anomalie nel vostro FO. La cosa migliore sarà quella di fare un confronto con i files originali della versione es. 1.5.6.1 (moduli e tema) e riportare le modifiche nei files del vostro template. Stessa cosa per chi usa soluzioni per i files php nella cartella override/ (che di solito sarebbe bene non usare a meno che non aggiunga metodi o proprietà alle classi esistenti) Comunque ogni prova e modifica è giusto farla in locale. Consiglio: Spesso ho visto che i siti si gestiscono un pò come un pc, cartelle di backup, cartella install/ rinominata, un sacco di versioni di moduli non più compatibili con la versione usata, files non necessari nella webroot e in modules, permessi sbagliati delle varie cartelle del sito .... Poi è normale che il sito possa avere dei problemi. Tutte le prove dovrebbero esser fatte in locale e i files di backup del sito, di moduli e temi sul pc. Quando provate un nuovo template o modulo fatelo sempre in locale, dopo varie prove potete decidere se installarlo sul sito. Nel database ci sono 260 tabelle, le modifiche avvengono non solo nei files e sistemare il template è decisamente più complesso. Quindi cercate di utilizzare un sistema/modalità che vi permetta di ritornare alla configurazione precedente in modo semplice e sicuro. ciaooooo Link to comment Share on other sites More sharing options...
Perla2018 Posted January 1, 2016 Share Posted January 1, 2016 Ciao, ma non coviene mettere nella cartella miotema solo il file css che ho cambiato invece di copiare tutto il tema di default? Link to comment Share on other sites More sharing options...
Giorgio M. Posted January 1, 2016 Share Posted January 1, 2016 Ti conviene mantenere separati i due css, in modo che aggiornando PrestaShop il tuo css resti inalterato. Noi lo inseriamo generalmente nella cartella madre del tema, ma va sicuramente bene anche all'interno della cartella css. Link to comment Share on other sites More sharing options...
maofree Posted January 1, 2016 Author Share Posted January 1, 2016 ciao dalla 1.6 è ancora più facile non serve modificare nessun file css del template base e non serve fare una duplicazione della cartella default-bootstrap se le modifiche sono limitate al solo css basta aggiungere un file tipo miofile.css nella cartella del template di default css/autoload/miofile.css e inserire tutto il codice che volete, semmai usando !important per fare l'override del codice css dei vari file css caricati dal template e moduli vari, non serve nemmno modificare header.tpl per farlo caricare, verrà caricato da se in automatico stessa cosa per il codice in javascript nella cartella js/autoload ciaoooo Link to comment Share on other sites More sharing options...
zklid Posted January 25, 2016 Share Posted January 25, 2016 Ciao, riprendo questa utilissima guida per chiedere se quello qui descritto è valido anche per la versione 1.6 e per i temi personalizzati.Grazie Link to comment Share on other sites More sharing options...
maofree Posted January 25, 2016 Author Share Posted January 25, 2016 certo ciao Link to comment Share on other sites More sharing options...
[email protected] Posted April 6, 2016 Share Posted April 6, 2016 Una domanda sui file messi in css/autoload/miofile.css oppure in js/autoload/miofile.js ma se aggiorno il mio tema questi file me li pialla??? cioè me li mantiente oppure sovrascrive tutto il tema aggironato????? no perchè altirmenti mi chiedo l'utilità.... bo... ma non è possibile fare come in WORDPRESS per poter modificare la grafica del proprio tema... com un bel tema CHILD.... Link to comment Share on other sites More sharing options...
maofree Posted April 6, 2016 Author Share Posted April 6, 2016 ciao essendo un file con un nome scritto da te, come potrebbe essere sovrascritto dall'aggiornamento? ogni cms si comporta in maniera diversa ciao Link to comment Share on other sites More sharing options...
[email protected] Posted April 6, 2016 Share Posted April 6, 2016 (edited) ok... dunqu elui aggiorna solo i file modificati del tema, e non tutto... ok era per capire... grazie milee.... comunque è limitante.... perchè non sempre è consigliabile utilizzare !important.... soprattutto per il responsive... comunque è già qualcosa..... Edited April 6, 2016 by [email protected] (see edit history) Link to comment Share on other sites More sharing options...
maofree Posted April 6, 2016 Author Share Posted April 6, 2016 ciao ogni cosa automatica ha delle regole, semmai potrebbe rimuovere il tuo file, ma non quello di sovrascriverlo (poi con quale codice?), se no che senso avrebbe quella cartella oltre a caricare in automatico gli script inseriti? usare questa tecnica ti fa risparmiare un sacco di tempo evitando di dover rinominare un tema e di dover riportare tutte le modifiche css e js nel tema utilizzato nei successivi aggiornamenti. Serve solo riportare il codice da modificare o da aggiungere ciaooooo Link to comment Share on other sites More sharing options...
annalisa90 Posted December 20, 2016 Share Posted December 20, 2016 Ciao, è da poco che uso Prestashop, ho installato l'ultima versione 1.7, e cercavo informazioni sull'override. Ho letto il topic ma non sono comunque riuscita a capire il procedimento, spero possiate darmi una mano. In pratica ho modificato dei file del tema di default, sia file css che tpl, quindi vorrei far in modo che al prossimo aggiornamento le mie modifiche non vadano perse. Se ho capito bene devo duplicare il tema di default nella cartella themes, il problema è che poi nel BO non riesco a selezionare il mio tema duplicato perchè non mi compare. C'è qualche passaggio che salto? Una volta fatto questo, che altro devo fare per completare l'override? Grazie, mi scuso se richiedo sempre le stesse cose ma spero che in questo modo riuscirò finalmente a capire Link to comment Share on other sites More sharing options...
maofree Posted December 20, 2016 Author Share Posted December 20, 2016 Ciao le cartelle autoload sono presenti nella 1.5 e 1.6 non nella 1.7 ho fatto richiesta a Prestashop per avere delle info, purtroppo hanno tolto delle cose utili tipo il media server da 3 a 1, diversi moduli utili tipo loyalty e productcomments non sono ancora stati aggiornati. Non ho ancora avuto modo di studiare per bene la 1.7, quindi non so darti informazioni dettagliate, tra poco dovrò farlo per aggiornare tutti i moduli fatti. Attualmente considero la 1.7 poco stabile, inizierò ad usarla tra diversi mesi. ciaooo Link to comment Share on other sites More sharing options...
annalisa90 Posted December 21, 2016 Share Posted December 21, 2016 In effetti sto avendo difficoltà con la 1.7. Come ti dicevo è da poco che uso Prestashop e quasi tutti i tutorial che ho trovato sono sulla 1.6, quindi ora molte cose non riesco a capire come farle, ad esempio moduli che mancano, oppure sono stati sostituiti con altro ma non essendo pratica non riesco a capirlo. Ho deciso di usare direttamente la 1.7 perchè la mia paura è che andando avanti, se usassi la 1.6, poi al momento di dover aggiornare mi troverei ancora più in difficoltà e dovrei rifare tutto daccapo. Secondo te sbaglio e dovrei cominciare con la 1.6? Riguardo alla domanda che avevo fatto sull'override, potresti spiegarmi comunque come fare se stessi usando la 1.6? Come avevo scritto ho capito che devo duplicare il mio tema, ma poi nel BO non mi compare...è un problema della 1.7 o c'è qualche passaggio che salto? Poi come dovrei continuare? Grazie in anticipo Link to comment Share on other sites More sharing options...
maofree Posted December 21, 2016 Author Share Posted December 21, 2016 ciao con la 1.7 sono andati a cambiare la parte frontale di prestashop, integrando il framework Symfony sono state aggiunte diverse novità, hanno sostituito smarty con twig che aumenta decisamente la velocità del sito e toglie diversi problemi di cache che c'erano con smarty, però ha cambiato completamente la struttura dei template. Con la 1.8 verrà cambiata anche la parte del pannello di controllo. La cartella overrides serve per aggiungere metodi o apportare modifiche a quelli esistenti ma a livello php, nelle classi, nei controllers e nei moduli, per la parte grafica lo fai nel template. Non avendo ancora studiato bene il template della 1.7 non mi va di darti tanti consigli, semmai prova a controllare i moduli nel template e andare a modificare quei files per vedere i vari risultati. Duplicare un tema di una versione di prestashop ancora parecchio instabile che verrà aggiornata molto nelle prossime settimane ti costriggerebbe a dover ricontrollare il template ad ogni aggiornamento per vedere quali modifiche hanno apportato. L'override serve per evitare una cosa del genere. Personalmente per un nuovo sito andrei su una 1.6, con un template extra che preferisci, poi aspetterei una versione stabile della 1.7 e di saperne di più. La 1.6 verrà aggiornata fino alla fine del 2018 se non sbagio. Credo ci siano molte persone che sono arrabbiati con prestashop per le decisioni prese. nella 1.6 la duplicazione è semplice copi la cartella e poi la rinomini, con la 1.7 non ho ancora prova, ti ripeto sono completamente diversi quindi ci sta che serva comportarsi in modo diverso ciaooo Link to comment Share on other sites More sharing options...
annalisa90 Posted December 21, 2016 Share Posted December 21, 2016 Ciao, ok quindi visto che le mie modifiche saranno solo a livello grafico, non devo toccare la cartella override ma semplicemente devo duplicare il mio tema. Ho scaricato anche la 1.6 per vedere le differenze, e il problema è che una volta duplicato il tema, mentre nella 1.6 nel BO > Configura il tuo tema, ho la possibilità di scegliere quale tema usare, nella 1.7 questa parte è stata proprio eliminata. Mi sa che ho scelto proprio un momento sbagliato per cominciare ad usare Prestashop Anche se non capisco perchè con questo aggiornamento alcune cose, a mio avviso utili, sono state eliminate. Stavo anche leggendo la documentazione ufficiale, ma credo che non sia stata aggiornata...sto trovando davvero poche informazioni sulla 1.7 e quindi mi trovo in difficoltà non essendo pratica. Grazie mille per il tuo aiuto Link to comment Share on other sites More sharing options...
maofree Posted December 21, 2016 Author Share Posted December 21, 2016 ok ti consiglio di riportare qui eventuali bugs o suggerimenti soprattutto per la 1.7 http://forge.prestashop.com/secure/Dashboard.jspa lo sto facendo anch'io così forse apporteranno dei cambiamenti ciao Link to comment Share on other sites More sharing options...
annalisa90 Posted December 21, 2016 Share Posted December 21, 2016 Ah ok, io avevo già fatto dei post per chiedere consiglio su alcuni problemi che sto avendo, però nessuno mi ha risposto proverò a farli nella sezione che mi hai indicato. Grazie ancora Link to comment Share on other sites More sharing options...
maofree Posted December 24, 2016 Author Share Posted December 24, 2016 Ciao ho controllato un pò il tema della 1.7 e ho visto che è tutto in smarty quindi senza twig, però hanno cambiato completamente la struttura interna. Se si disabilita la cache va ancora più veloce, poi poco altro, dato che hanno rimosso tante cose e molti moduli base di presta sono ancora da configurare, altri non verranno più gestiti. Qui trovi un pò d'informazioni, alla fine ho elencato tutte le cose che hanno rimosso, sperando di stimolare prestashop a fare una versione migliore https://www.prestashop.com/forums/topic/480580-want-to-know-more-about-17 ciao Link to comment Share on other sites More sharing options...
maofree Posted December 26, 2016 Author Share Posted December 26, 2016 Ciao trovato il modo per fare la stessa cosa anche sulla 1.7, serve modificare il file theme.yml http://developers.prestashop.com/themes/assets/index.html https://github.com/PrestaShop/PrestaShop/pull/6656 https://github.com/PrestaShop/PrestaShop/pull/7022 ciaoooo Link to comment Share on other sites More sharing options...
annalisa90 Posted December 29, 2016 Share Posted December 29, 2016 Ciao, prima di tutto grazie mille per la tua disponibilità...sei forse l'unico che sta rispondendo alle mie domande Da quello che ho capito visto che ho modificato solo file della cartella themes, basta che duplico il tema (di default nel mio caso) e scelgo quello dal BO come mio nuovo tema. Quindi ho scaricato il tema di default, ho modificato nel file theme.yml "name" e "display name" e ho provato a caricarlo nel BO, ma mi dice che il tema non è valido. Ho sbagliato qualcosa quando l'ho duplicato? Scusami se continuo a chiederti sempre la stessa cosa, ma proprio non riesco a farlo funzionare. Un'informazione che invece volevo condividere è che ho scritto nel link che mi avevi suggerito http://forge.prestas.../Dashboard.jspa riguardo l'assenza del theme configurator, e mi hanno detto che è stato eliminato dal tema di default, non so se solo per il momento, mentre invece potrebbe esserci ancora in qualche altro tema, e probabilmente anche nello Starter theme. Io l'ho scaricato, anche se non riesco ad installare nemmeno questo ovviamente, ma comunque non so se mi sarebbe utile, ho letto che è proprio per gli sviluppatori, quindi forse troppo vuoto per me Link to comment Share on other sites More sharing options...
maofree Posted December 29, 2016 Author Share Posted December 29, 2016 ciao se le modifiche sono solo codice css o js non serve duplicare un tema ma basta seguire le indicazioni di quei siti che ho postato per duplicarlo basta prendere il tema di prestashop, modificare i nomi relativi al template e metterlo in themes dopo lo installi dal BO se ci son problemi serve andare nel bug-tracker e aprire un topic fornendo descrizioni ed immagini, dopo poco dovrebbero contattarti come hanno fatto con me con altri errori che gli ho postato. ciao Link to comment Share on other sites More sharing options...
annalisa90 Posted December 29, 2016 Share Posted December 29, 2016 Per i file css ho creato un mio css dove sto apportando le modifiche, è che ho modificato anche dei file tpl perciò volevo duplicare il tema. Io credo di eseguire la procedura correttamente, ho scaricato il tema di default, ho modificato nel file theme.yml "name" e "display name", poi vado nel BO > Aggiungi tema, e scelgo carica file zip dal computer. A quel punto però mi dice che il tema non è valido. Prima di scrivere nella sezione dei bug volevo essere sicura di non sbagliare io qualcosa Link to comment Share on other sites More sharing options...
maofree Posted December 29, 2016 Author Share Posted December 29, 2016 provato così mi son tolto il dubbio non riscontro errori basta copiare la cartella "classic" sul pc, poi la rinomini mytheme o come vuoi, poi editi il file config/theme.yml e cambi name: mythemedisplay_name: Mythemeversion: 1.0.0 poi carichi tutto tramite filezilla in themes dopo vai nel back-office in temi e premi sul pulsante usa questo tema ciao Link to comment Share on other sites More sharing options...
annalisa90 Posted December 29, 2016 Share Posted December 29, 2016 Ma tu stai usando sempre la 1.7? Perchè io ho fatto proprio come dici tu, solo che quando poi devo caricare il tema nel BO, non c'è la spunta usa questo tema. Ho "aggiungi tema" e ho tre opzioni: IMPORTA DAL COMPUTER, IMPORTA DAL WEB, IMPORTA CON FTP. In tutti e tre i casi mi chiede di selezionare un file ZIP. Quando lo carico poi mi dice "Questo tema non è valido per PrestaShop 1.7". é un problema della 1.7? Link to comment Share on other sites More sharing options...
maofree Posted December 29, 2016 Author Share Posted December 29, 2016 non so che dirti uso la 1.7.0.3, a me lo abilita subito e non chiede zip che sia un bug di presta dubito perchè viene provato da diversi programmatori che fanno temi, un errore di questo tipo lo avrebbero già risolto se vuole lo zip credo siano necessari altri file per capire se lo sbaglio dipende da noi basta scaricarsi un template gratuito e vedere come è fatto lo zip https://presta-theme-maker.com/maker-17/ http://www.prestabrain.com/theme/pts-base/ ciaooooooo Link to comment Share on other sites More sharing options...
annalisa90 Posted December 29, 2016 Share Posted December 29, 2016 Scusa se ti faccio perder tempo per una cosa così banale. Può essere che dipende dal fatto che sto usando la 1.7.0.2? Ti scrivo al volo quello che io vedo nel back office, poi smetto di romperti le scatole anche perchè a quanto pare è un errore mio visto che a te funziona. Allora vado in Temi, ho un anteprima del mio tema classic, poi a fianco c'è "Configura i layout della tua pagina", ma qui non mi fa scegliere il tema ma solo il layout per i vari tipi di pagina. In alto a destra ho "Aggiungi tema" e lì faccio come ti ho scritto prima. Non so se a questo punto aggiornare alla 1.7.0.3 e poi sostituire i file che ho modificato a mano. Grazie davvero per la tua disponibilità Link to comment Share on other sites More sharing options...
maofree Posted December 29, 2016 Author Share Posted December 29, 2016 prima cosa aggiorna alla 1.7.0.3 poi basta copiare la cartella "classic" sul pc, poi la rinomini mytheme o come vuoi, poi editi il file config/theme.yml e cambi name: mythemedisplay_name: Mythemeversion: 1.0.0 poi carichi tutto tramite filezilla in themes dopo vai nel back-office in temi e premi sul pulsante usa questo tema il tema mytheme appare sotto a quello classic in uso. Se ci passi sopra col mouse appare un pulsante con la scritta usa questo tema, quindi non serve caricare zip ho riprovato e funziona perfettamente, anche nella parte frontale i file css vengono caricati dal nuovo tema Ho trovato pure un errore in prestashop sugli url ai css ma non è la causa del tuo problema Link to comment Share on other sites More sharing options...
annalisa90 Posted December 29, 2016 Share Posted December 29, 2016 Ok grazie mille. Davvero gentile e disponibile Ciao Link to comment Share on other sites More sharing options...
Luigi Usai Posted January 27, 2017 Share Posted January 27, 2017 Ragazzi, che ne dite di uploadare su un vostro server qualche template da condividere? Sembra stia diventando davvero arduo trovare i template grafici online. Persino il tema Classic non si riesce a trovare online per la versione 1.7.0.4 nemmeno in formato zip... assurdo, che razza di programmatori/hackers opensource siamo? :-) Facciamo girare qualche dannato template, o mi troverò a sviluppare e regalare su sourceforge un'app che li crei gratis in automatico. Ciao a Tutti Voi e buon lavoro Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now