Ethan Posted May 9, 2009 Share Posted May 9, 2009 Salve, se volessi visualizzare i prodotti da immagini presenti sul server del mio fornitore come dovrei fare? Dando un'occhiata veloce le immagini vengono caricate da prestashop rinominate e inseite nella cartella img/.Purtroppo ho a che fare a un catalogo di circa 20000 prodotti con un file csv con anagrafica fornita dal mio fornitore e devo trovare per forza questa soluzione.Avete un'idea da dove potrei cominciare a guardare il codice? Almeno un punto di partenza per sapere se è fattibile una modifica che faccia al caso mio.(Tempo fà feci la stessa modifca con oscommerce)GrazieEthan Link to comment Share on other sites More sharing options...
disarci Posted May 9, 2009 Share Posted May 9, 2009 Ciao,1) non credo che la cosa sia buona dal punto di vista di performance,io preferisco utilizzare qualche script che si importi le immagini2) x curiosità e in osc cosa ti hanno risposto? Hai risolto?3) puntare alla directory del fornitore è semplice:config.inc.phpdefine('_THEME_CAT_DIR_', __PS_BASE_URI__.'img/c/');questo è il percorso dell'immagine4) per il nome dell'immagine puoi prendere un campo che non usi e inserire il nome dell'immagine,poi sostituisci la variabile nei tpl (product.tpl, product-list.tpl)Buon lavoro Link to comment Share on other sites More sharing options...
Ethan Posted May 9, 2009 Author Share Posted May 9, 2009 Bhè sarebbe un lavoraccio per un database di 20000 articoli da scaricare una volta a settimana. Comunque l'ho fatto con oscommerce e devo dire che non ha rallentato così vistosamente. Il file config.inc.php l'ho già visto però ho tre fornitori diversi quindi procederò solamente con la modifica di questi altri due file che mi hai scritto appena li vedo passando direttamente l'url completo senza fare nessuna addizione di stringhe (spero... è solo teoria al momento).Con oscommerce avevo proprio cambiato pezzi di codice alle pagine che producevano i listati dei prodotti e la pagina del prodotto ma ho fatto da me.Vi farò sapere del risultato.GrazieEthan Link to comment Share on other sites More sharing options...
Ethan Posted May 10, 2009 Author Share Posted May 10, 2009 Salve, ho trovato una mezza soluzione teorica...Premetto che dispongo di 3 immagini (small, medium e large) per le immagini esterne che dovrei utilizzare per la pagina prodotto (large), per la lista dei prodotti (medium) e per eventuali box laterali (small).Ho inserito 3 campi nella tabella ps_product_lang riferiti alle tre immagini dove inserisco l'URL completo.Procedo con la pagina del prodotto: product.tplHo trovato il seguente codice: {if $have_image}name|escape:'htmlall':'UTF-8'}"/> {else}name|escape:'htmlall':'UTF-8'}" /> {/if} la if verifica se ho caricato un'immagine. Se non è caricata mette quella di default (dopo l'else). Quindi mi viene automatico sfruttare la seconda parte di codice per inserire l'immagine esterna. Dovrei quindi inserire dopo src l'url preso dalla tabella ps_product_lang.E' qui che non riesco ad andare avanti. Il problema è che non trovo la funzione che richiama con una query la suddetta tabella per potere inserire anche quei campi.Ho provato a crearla ma se inserivo la variabile nel src non mi spuntava nulla. La query è:$image_full = mysql_fetch_row(mysql_query ("SELECT link_image_full FROM ps_product_lang WHERE id_product = '$product->id' and id_lang = 3"))poi inserisco $image_full[0] nel campo src però mi ritorna poi visualizzato src="".se eseguo un echo di $image_full[0] mi ritorna in qualche punto della pagina l'url quindi la query è esatta.La query l'ho inserita prima dell'if nel file product.tpl e non funziona. L'ho inserita nel file product.php e non funziona.Ho effettuato anche un'altra prova. Ho visto che nel file product.tpl una chiamata a product->description_short che richiama il campo nella tabella ps_product_lang. Quindi ho inserito in questo campo l'url dell'immagine e poi ho inserito questa variabile nel campo src. Come immaginavo mi è comparsa l'immagine.Quindi il problema stà solo nel far passare la variabile della query nel campo src....Qualcuno ha qualche idea?????GrazieEthan Link to comment Share on other sites More sharing options...
disarci Posted May 10, 2009 Share Posted May 10, 2009 Ciao, - scusa rispondo in maniera teorica ma dopo un we di 40 ore di lavoro non ho il tempo di provarlo - allora il tuo problema mi sembra sia più di smarty che d'altro:caso a) le variabili ci sono basta che nel tpl le richiami con {$product->nome_del_tuo_campo} e hai risoltocaso 1) metti la tua query nel product.php2) la testi, ovvio3) fai uno smarty->assign con la tua variabile (con la matrice)4) richiami di là il tuo link,caso c)perfetto ma così non ti funziona a meno che tu non rifaccia tutta la query che richiama i prodotti.l'unica soluzione "elegante" è di studiarti un pochino la classes/product.php e trovare la funzione che richiama i prodotti, aggiungere i tuoi campi nella query a questo punto torni al punto a Link to comment Share on other sites More sharing options...
Ethan Posted May 11, 2009 Author Share Posted May 11, 2009 Grazie per la risposta... Allora per il caso a) avevo anche provato ma non funziona (probabilmente non viene richiamata tutta la tabella) quindi ho provato con la soluzione "elegante" del caso c). Ho visto tutte le funzioni che richiamavano la tabella product_lang e dove non richiamate ho inserito i campi che servivano a me. Però sicuramente devo andare a fare qualche altra modifica in qualche altro file perchè anche così l'src mi risulta vuoto.Quindi al momento ho attuato il caso con uno smarty->assign e in questa maniera ho risolto il mio problema.Sinceramente non conoscevo smarty e mi sono documentato su questo strumento. Ne avevo sentito parlare di questo nuovo metodo di programmazione ma non avevo approfondito.Comunque per la pagina del prodotto ho risolto conservando anche il fatto che se dovessi inserire l'immagine manualmente non avrei nessun problema in quanto conservo la funzione if.Procedo adesso con le pagine dove vengono listati i prodotti e poi i vari box dove sono inserite immagini del prodotto.Grazie per l'aiutoEthan Link to comment Share on other sites More sharing options...
disarci Posted May 11, 2009 Share Posted May 11, 2009 Complimenti,non era semplicissimo,ora, se ti capitasse di sviluppare qualche modulo, e hai voglia di condividerlo lo aspettiamo volentieri,se invece sono moduli a pagamento puoi metterli in vendita su prestamodules.com Link to comment Share on other sites More sharing options...
Giampiero Posted June 11, 2009 Share Posted June 11, 2009 Ciao Ethan è possibile avere i sorgenti?ho visto sul sito che l'hai risolto http://mondobarreca.it/shop/Grazie Link to comment Share on other sites More sharing options...
Ethan Posted June 11, 2009 Author Share Posted June 11, 2009 Allora, non ho dei sorgenti ma ho fatto modifiche qua e là dei file tpl che mi occorreva visualizzare.Ho dapprima creato tre nuovi campi nella tabella ps_product_lang per inserire le immagini grande, media e piccola. Poi nella cartella classes ci sono dei file da modificare come nel file Product.php e anche Category.php dove ci sono le query che si eseguono quando si cercano i prodotti da visualizzare. Ho semplicemente aggiunto nella riga SELECT i campi da richiamare (pl.link_image_full, pl.link_image_med e pl.link_image_sml) dove si richiamava la tabella ps_product_lang.Infine nei file .tpl nella riga dovè il codice che visualizza l'immagine ho inserito la condizione che se il campo dove inserisco i link alle immagini non è vuoto visualizza l'immagine esterna altrimenti quella immessa manualmente.Per farti un esempio nel file product-list alla voce img src="... troverò {if $product.link_image_med}{$product.link_image_med}{else}{$img_prod_dir}{$product.id_image}-medium.jpg{/if}dipende che immagini hai ti conviene bloccare l'altezza con heightI file più importanti da modificare sono product.tpl e product-list.tpl poi dipende dai vari moduli installati e visualizzati che mettono le immagini del prodottoSe hai bisogno di qualcos'altro sono sempre qui.ciao Link to comment Share on other sites More sharing options...
Giampiero Posted June 11, 2009 Share Posted June 11, 2009 Ok Grazie Ethan proverò a cimentarmi, se non ci riesco dovrò "romperti" Link to comment Share on other sites More sharing options...
Giampiero Posted July 18, 2009 Share Posted July 18, 2009 Ciao Ethan, un problema nuovo mi si è presentato, sono arrivato a oltre 20000 prodotti e la visualizzazione delle pagine dettaglio prodotti è lentissima circa 60 sec. Ho visto il tuo sito ed è veloce che hosting o server utilizzi?Grazie Link to comment Share on other sites More sharing options...
newdevil Posted February 27, 2014 Share Posted February 27, 2014 salve, mi intrometto nella discussione perchè dovrei creare una query che prenda i dati in una taabella creata da me nel database di prestashop ma non so come richiamare tale query nel file product.tpl 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