Jump to content

[MODIFICA] PS 1.5.6.1 - Aggiungere extra tabs alla descrizione prodotto


ariom

Recommended Posts

ciao a tutti

ho visto che tanti utenti (io tra questi) hanno il bisogno di aggiungere alla descrizione dei prodotti (more info tab) ulteriori schede personalizzate, e che, a parte moduli a pagamento, risulta difficile o impossibile trovare una soluzione che funzioni sull'ultima vers.stabile di PS (1.5.6.1).
Ho un sito con PS vers. 1.4.7.3 dove avevo applicato una modifica trovata nel forum inglese tempo fa che funzionava alla perfezione, ma ora, aggiornando alla 1.5.6.1, a causa degli enormi cambiamenti e miglioramenti intercorsi, non mi funziona più.....ho fatto un po di prove.....niente. Stamattina ho fatto un po di ricerche con calma, ritrovando quel vecchio post e, ristudiandomi la questione, ecco la soluzione!!!!

Modifica fatta usando gli override, quindi perfettamente compatibile con futuri aggiornamenti
Chiaramente i miei ringraziamenti vanno a Ezakimak, l'utente autore iniziale delle modifiche x 1.4

 

per prima cosa scompattate la cartella product_extratabs_1.5.6.1.zip che trovate allegata qui in fondo, all'interno ci sono 3 files:

- information.tpl

- product.tpl

- Product.php

se li aprite noterete cosa e dove è modificato...cercate description2, description3, description4 nei vari file

tanto x capirci ... a me servivano 3 schede aggiuntive, ma se ne volete di meno o di più saprete dove metter mano

 

1 - Aggiungere le tabelle nel db dove verranno immagazzinati i testi che verranno visualizzati nelle varie schede della pagina del prodotto

Dal pannello di controllo del server (dal cPanel, non il BO del sito), aprite phpmyadmin e,se necessario, selezionate il vostro database, selezionate quindi la tabella ps_product_lang e quindi sql dal menu in alto, copiate la seguente query nella textarea e cliccate esegui ... fate prima una copia di bkp in caso di problemi....

ALTER TABLE `ps_product_lang` ADD COLUMN `description2` TEXT NULL DEFAULT NULL  AFTER `description` ;
ALTER TABLE `ps_product_lang` ADD COLUMN `description3` TEXT NULL DEFAULT NULL  AFTER `description2` ;
ALTER TABLE `ps_product_lang` ADD COLUMN `description4` TEXT NULL DEFAULT NULL  AFTER `description3` ;

2 - Preparazione per l'override lato Admin

Create una cartella e rinominatela products dentro /override/controllers/admin/templates
3 - Override x visualizzare TinyMCEditor nel BO > Catalogo > Prodotti > Informazioni del prodotto per le 3 tab dove inserire i testi x il db

Copiate il file information.tpl dentro /override/controllers/admin/templates/products
4 - Gestione dei dati: aggiungere, modificare, cancellare o tradurre i testi delle tab

Copiate il file Product.php dentro /override/classes
5 - Preparazione alla copia del file template

Rinominate product.tpl che trovate dentro /themes/tuo-tema ...magari old_product.tpl... in caso di problemi
6 - Visualizzazione delle tab nel front Office alla pagina del prodotto

Copiate il file product.tpl in /themes/tuo-tema
7 - Svuotamento cache

BO > Parametri avanzati > Performance
     Force compile
     no cache
     e salvate
     svuota smarty cache e autoload cache
     CCC a parametri originali
     e salvate
     cancellate il file  /cache/smarty/class.index.php (Ps lo ricrea)
     svuotate cache del browser e coockie

8 - Aggiornare x vedere i cambiamenti effettuati

andare nel BO > Catalogo > Prodotti, scegliere modifica su un prodotto a caso e cliccare sul tab Informazioni a destra, dovreste vedere come lo screen qui sotto

 

post-148583-0-36299300-1390226644_thumb.jpg

 

x personalizzare i testi che compaiono al lato dell'editor (descriptio2, description3, description4), andare nel BO > Localizzazione > Traduzioni > selezionate Traduzione campi nel primo menu a discesa,cliccate la bandierina della lingua che volete modificare, quindi scorrete fino a trovare product, cliccate x espandere e cambiate a vostro piacimento le stringhe interessate.

Ora potete inserite del testo di prova negli editors e cliccare salva e rimani

il risultato dovrebbe essere come qui sotto (a parte i testi dentro le tabs che sono i miei personalizzati, voi vedrete more info 1, more info 2 etc

 

.post-148583-0-66319800-1390226871_thumb.jpg

 

x cambiare i titoli dei tabs andate nel BO > Localizzazione > Traduzioni > lasciate selezionato Funzionalità Front office nel primo menu a discesa, sciegliete il vostro tema nel secondo menu a discesa e quindi la bandierina della lingua che volete modificare, quindi scorrete fino a quando trovate le stringhe da modificare )

 

questa è la cartella con i files

product_extratabs_1.5.6.1.zip

 

modifica funzionante in modalità multilingue e multinegozio

testato su 1.5.6.1 installazione fresca e tema default

Edited by ariom (see edit history)
  • Like 1
Link to comment
Share on other sites

ciao Ariom, appena fatto su un sito di prova tutto ok e perfettamente funzionante, l'unica cosa che posso dirti è quella di specificare meglio come fare con la query, e di spiegare anche come modificare il testo " description " se nò quando inserisco altri tab si trovano description1 2 3 ecc ecc

 

per il resto testato e perfettamente funzionante

  • Like 1
Link to comment
Share on other sites

ciao lui1969

....e grazie x il tuo test e i suggerimenti.....

....fatto...spero sia + completa la spiegazione ora.....

e di spiegare anche come modificare il testo " description " se nò quando inserisco altri tab si trovano description1 2 3 ecc ecc

rileggendo mi è venuto un dubbio....ti riferivi alla traduzione o a cos'altro?

Link to comment
Share on other sites

io ho provato ma haimè quando vado ad aggiornare il prodotto mi appare

 

            " si è verificato un errore durante l'aggiornamento product () "

 

e le linguette non sono visibili nei prodotti (forse perchè non modificate?)

 

 

 

Devo dire che comunque hai fatto un ottimo lavoro.... pure io che sono imbranata sapevo dove mettere mani :D

avrò fatto qualche errore! riproverò!

Link to comment
Share on other sites

niente....secondo me i problemi possibili sono:

controlla bene i percorsi e nomi liles e cartelle modificati

 

Cache (mooolto probabile!!!)

7 - Svuotamento cache

BO > Parametri avanzati > Performance
     Force compile
     no cache
     e salvate
     svuota smarty cache e autoload cache
     CCC a parametri originali
     e salvate
     cancellate il file  /cache/smarty/class.index.php (Ps lo ricrea)
     svuotate cache del browser e coockie

 

permessi cartelle e file (assicurati di avere i permessi settati rispettivamente a 755 per le cartelle e 644 per i files)

 

personalizzazioni e modifiche precedenti (e qui non ti posso aiutare)

 

facci sapere....

Link to comment
Share on other sites

non so proprio che dire.... io non capisco di codici!

ho provato e riprovato ma continua a dare lo stesso problema! :( :( :(

Ho seguito le istruzioni passo passo 3 volte ma.... nulla!

Personalizzazioni precedenti non ce ne sono state, almeno sul codice, perchè come dicevo non capendoci nulla non ci metto neanche mano! Poi non so se centra qualche modulo installato, ad esempio quello dei feedback (credo che sia l'unico che ha apportato modifiche sul prodotto).

 

Guarda, una cosa posso dirti, sei stato bravissimo se ci ho capito qualcosa anche io :) e farò la prova sul dominio ufficiale (quelle che ho fatto sono sul vecchio dominio)  e ti farò sapere!

Link to comment
Share on other sites

mi è venuto in mente.....

 

qualche giorno fa ho fatto l'upgrate (o meglio ci ho provato) con il modulo unclik ma..... non capendo che parametri andare a modificare dopo, semplicemente non ho modificato nulla e tutto sembrava funzionare. Non ho fatto grandi indagini essendo un sito di "prove" e avendo risolto il mio problema.

 

Ora mi chiedo... può essere questo???

Link to comment
Share on other sites

1 - Aggiungere le tabelle nel db dove verranno immagazzinati i testi che verranno visualizzati nelle varie schede della pagina del prodotto

Dal pannello di controllo del server (dal cPanel, non il BO del sito), aprite phpmyadmin e,se necessario, selezionate il vostro database, selezionate quindi la tabella ps_product_lang e quindi sql dal menu in alto, copiate la seguente query nella textarea e cliccate esegui ... fate prima una copia di bkp in caso di problemi....

ALTER TABLE `ps_product_lang` ADD COLUMN `description2` TEXT NULL DEFAULT NULL  AFTER `description` ;
ALTER TABLE `ps_product_lang` ADD COLUMN `description3` TEXT NULL DEFAULT NULL  AFTER `description2` ;
ALTER TABLE `ps_product_lang` ADD COLUMN `description4` TEXT NULL DEFAULT NULL  AFTER `description3` ;

 

Dubbio: io quando apro la query c'è questo

 

SELECT * FROM `ps_product_lang` WHERE 1

 

devo cancellarlo e copiare quella su, oppure devo copiarla sotto????

Io ho cancellato e copiato, ho fatto male?

Link to comment
Share on other sites

Io ho cancellato e copiato, ho fatto male?

hai fatto bene, altrimenti la query non avrebbe funzionato

 

Poi non so se centra qualche modulo installato, ad esempio quello dei feedback (credo che sia l'unico che ha apportato modifiche sul prodotto).

scusa ma non capisco, quale modulo? forse intendi productcomments (commenti prodotto )? o un'altro modulo che si chiama proprio Feedback (ma che non c'entra niente con i prodotti)? comunque prova a disabilitarlo/i (senza disinstallare) e vedi se qualcosa cambia (io li ho installati tutti e due adesso e non rilevo nessun problema)

 

qualche giorno fa ho fatto l'upgrate (o meglio ci ho provato) con il modulo unclik ma..... non capendo che parametri andare a modificare dopo, semplicemente non ho modificato nulla e tutto sembrava funzionare.

tutto potrebbe essere....specialmente in un sito di prove, come dici tu, mi sembra a questo punto di avere ampiamente dimostrato che le modifiche funzionano, poi difficile entrare nei meandri di tutto quello che sarebbe possibile....mi dispiace di non poterti aiutare oltre

Edited by ariom (see edit history)
Link to comment
Share on other sites

scusa ma....

 

ho provato a fare la modifica sul sito ufficiale, purtroppo mi segnala errore già al primo passaggio, quello della query (cosa che non faceva sull'altro)

 

mi appare questo

 

Errore

Query SQL:

ALTER TABLE `ps_product_lang` ADD COLUMN `description2` TEXT NULL DEFAULT NULL AFTER `description` ;
 

Messaggio di MySQL: dot.gif

#1146 - Table 'mnzurydv_olioelianto.ps_product_lang' doesn't exist

Link to comment
Share on other sites

Meraviglioso!

 

Ci sono riuscita, sul sito istituzionale senza alcuna difficoltà (tranne il ps invece di sp mia culpa)!

 

E' evidente che sul vecchio sito qualche "prova" non è andata a buon fine!

 

Grazie veramente per il lavoro fatto, era una modifica a cui tenevo molto ma ci avevo quasi rinunciato!

Edited by olioelianto (see edit history)
Link to comment
Share on other sites

  • 4 weeks later...

Ciao....

....DEVE funzionare se hai eseguito alla lettera il tutorial, è testato e ritestato su installazione pulita 1.5.6.1....non posso dire se funziona su temi custom o su installazioni con modifiche al core, ...

 

....riprova facendo molta attenzione e facci sapere.....

Link to comment
Share on other sites

Ho provato a fare un istallazione pulita di prestashop, ho messo questa modifica, e tutto è andato bene; successivamente ho messo il tema che uso per il mio sito, ed è continuato ad andare. Non capisco perchè nel mio sito invece non visualizzo tutta la parte relativa all'editing del testo? Può essere che ho fatto un pò di casino col databse?

Link to comment
Share on other sites

Non capisco perchè nel mio sito invece non visualizzo tutta la parte relativa all'editing del testo? Può essere che ho fatto un pò di casino col databse?

 

non penso sia il db se non vedi l'editor,

 

riferisciti alle note qui sotto per controllare dove c'e qualcosa che non va

Questi sono i file che visualizzano e governano l'editor

 

3 - Override x visualizzare TinyMCEditor nel BO > Catalogo > Prodotti > Informazioni del prodotto per le 3 tab dove inserire i testi x il db

Copiate il file information.tpl dentro /override/controllers/admin/templates/products

4 - Gestione dei dati: aggiungere, modificare, cancellare o tradurre i testi delle tab

Copiate il file Product.php dentro /override/classes

 

cancellate il file  /cache/smarty/class.index.php (Ps lo ricrea)

 

 

ma se fossi in te rifarei tutto da zero con molta attenzione....a volte è la soluzione migliore B)

Link to comment
Share on other sites

  • 3 weeks later...

Modifica bellissima ed utile!

però...

 

io pensavo che dovesse essere perfetta ma ha una piccola pecca che non sono riuscito a trovare.

 

utilizzando "google maps" e caricato come iframe nella prima scheda originale il marker mi appare al centro della pagina.

 

nella seconda che è relativa IdTab99 è nascosta sull'angolo in alto a destra (bisogna spostare un pò in basso e a destra per vederla apparire).

 

ho controllato i tre file ma non riesco a trovare l'inghippo!!!

 

nel caso non fossi stato chiaro:

 

<iframe src="https://maps.google.it/maps?f=q&source=s_q&hl=it&geocode=&q=Baia+Verde,+Gallipoli,+LE&aq=0&oq=baia+,+Gallipoli,+LE&sll=40.056477,17.98213&sspn=0.010101,0.013797&ie=UTF8&hq=&hnear=Baia+Verde,+Lecce,+Puglia&t=m&ll=40.037669,18.016119&spn=0.023,0.04549&z=14&iwloc=A&output=embed" frameborder="0" marginwidth="0" marginheight="0" scrolling="yes" width="530" height="350"></iframe>

 

questo è lo stesso codice nella scheda originaria e in quella opzionale (con l'incongruenza).

 

potete verificare per cortesia?

Link to comment
Share on other sites

  • 3 months later...
  • 11 months later...

Ciao ho seguito alla lettera la procedura anche sue volte ma il risultato e che mi incasina tutta la parte relativa al prodotto sia nel BO  che nel front end, io uso la versione 1.6 di prestashop possono esserci dei problemi per questo? peccato perchè era proprio adatta a me

Link to comment
Share on other sites

  • 1 year later...
  • 2 months later...
  • 2 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...