gaiasl Posted September 14, 2012 Share Posted September 14, 2012 Buongiorno, quando clicco sulla categoria e visualizzo la lista dei prodotti gli articoli su ordinazione risultano disponibili nonostante nella scheda prodotto ci sia scritto su ordinazione. Allego la schermata del negozio. Ho letto questo topic, ma non sono riuscita a capire come modificare il file product-list.tpl per correggere. http://www.prestashop.com/forums/topic/156089-concatenare-stringhe/page__p__774244__hl__stringhe%20|%20concatenate__fromsearch__1#entry774244 La versione di prestashop installata nel mio shop è la 1.4.8.2 Qualcuno può aiutarmi? Questo è il codice di product-list.tpl Grazie!! {if isset($products)} <!-- Products list --> <ul id="product_list" class="clear"> {foreach from=$products item=product name=products} <li class="ajax_block_product {if $smarty.foreach.products.first}first_item{elseif $smarty.foreach.products.last}last_item{/if} {if $smarty.foreach.products.index % 2}alternate_item{else} item{/if} clearfix"> <div class="center_block"> <a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink ($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a> <h3>{if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF- 8'}</a></h3> <p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF- 8'}" title="{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}"> {$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'}</a></p> </div> <div class="right_block"> {if isset($product.on_sale) && $product.on_sale && isset ($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'} </span> {elseif isset($product.reduction) && $product.reduction && isset ($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>{/if} {if isset($product.online_only) && $product.online_only}<span class="online_only">{l s='Online only!'}</span>{/if} {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))} <div> {if isset($product.show_price) && $product.show_price && !isset ($restricted_country_mode)}<span class="price" style="display: inline;">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span><br />{/if} {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}<span class="availability">{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{elseif (isset ($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}</span>{/if} </div> {/if} {if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE} {if ($product.allow_oosp || $product.quantity > 0)} <a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}? add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" title="{l s='Add to cart'}">{l s='Add to cart'}</a> {else} <span class="exclusive">{l s='Add to cart'} </span> {/if} {/if} <a class="button" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a> {if isset($comparator_max_item) && $comparator_max_item} <p class="compare"><input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset ($compareProducts) && in_array($product.id_product, $compareProducts)}checked{/if}/> <label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label></p> {/if} </div> </li> {/foreach} </ul> <!-- /Products list --> {/if} Link to comment Share on other sites More sharing options...
eugenata Posted September 15, 2012 Share Posted September 15, 2012 Ciao gaiasl, se devi solo modificare la scritta Disponibile con la scritta Su ordinazione, non devi modificare alcun file. Devi solo agire sulla traduzione italiana di quel testo. Per farlo vai in b.o. > Strumenti > Traduzioni. Selezioni Traduzioni Front Office dal menù a tendina e clicchi sulla bandierina italiana. Poi cerca e modifica la voce Disponibile nel fieldset chiamato product-list. Non devi fare altro. Se hao modificato dei file rimettili a posto ricaricando gli originali. Link to comment Share on other sites More sharing options...
gaiasl Posted September 15, 2012 Author Share Posted September 15, 2012 ciao, ti ringrazio per la risposta. No, purtroppo non posso modificare la traduzione perchè sul sito avrò sia prodotti subito disponibili in magazzino sia prodotti su ordinazione. E purtroppo adesso la lista prodotti non fa distinzione, la differenza si vede solo se si entra dentro la scheda prodotto e questo non va bene perchè il cliente potrebbe mettere il prodotto nel carrello anche senza entrare dentro la scheda prodotto. Ciao gaiasl, se devi solo modificare la scritta Disponibile con la scritta Su ordinazione, non devi modificare alcun file. Devi solo agire sulla traduzione italiana di quel testo. Per farlo vai in b.o. > Strumenti > Traduzioni. Selezioni Traduzioni Front Office dal menù a tendina e clicchi sulla bandierina italiana. Poi cerca e modifica la voce Disponibile nel fieldset chiamato product-list. Non devi fare altro. Se hao modificato dei file rimettili a posto ricaricando gli originali. Link to comment Share on other sites More sharing options...
eugenata Posted September 15, 2012 Share Posted September 15, 2012 (edited) ... No, purtroppo non posso modificare la traduzione perchè sul sito avrò sia prodotti subito disponibili in magazzino sia prodotti su ordinazione. ... e questo non va bene perchè il cliente potrebbe mettere il prodotto nel carrello anche senza entrare dentro la scheda prodotto. Invece devi proprio agire sulle traduzioni, ma con qualche accorgimento in più. Se vuoi che il tuo clinte distingua i prodotti direttamente acquistabili online da quelli che possono solo essere prenotati e, questi ultimi non devono poter essere messi nel carrello, allora puoi fare in questo modo: Entri nella scheda prodotto in b.o. (quelli solo su prenotazione), togli la spunta sul flag Disponibile all'ordine. In questo modo il prodotto non potrà esserre messo nel carrello pur rimanendo visibile. Sempre nella stessa scheda prodotto, metti la spunta nel flag Mostra l'icona Saldi"... Comparirà una bizzara scritta rossa IN VENDITA, sia nella visualizzazione della pagina prodotto che della categoria. Vai a tradurre (vedi post precedente) la scritta IN VENDITA con: SOLO SU ORDINAZIONE. Ricordati per prima cosa, di ripristinare i file che hai modificato in modo da applicare queste indicazioni ad una installazione vergine. Edited September 15, 2012 by eugenata (see edit history) Link to comment Share on other sites More sharing options...
gaiasl Posted September 15, 2012 Author Share Posted September 15, 2012 In questo modo il prodotto non potrà esserre messo nel carrello pur rimanendo visibile. il mio scopo è che il cliente sappia se il prodotto è in magazzino oppure no, però ho necessità che possa mettere nel carrello sia i prodotti subito disponibili che quelli su ordinazione. La mia paura è che il cliente che legge la lista prodotti e aggiunge un prodotto su ordinazione nel carrello e lo paga subito, senza entrare dentro la scheda prodotto, si aspetta di riceverlo entro 24 ore. Link to comment Share on other sites More sharing options...
eugenata Posted September 15, 2012 Share Posted September 15, 2012 ... La mia paura è che il cliente che legge la lista prodotti e aggiunge un prodotto su ordinazione nel carrello e lo paga subito, senza entrare dentro la scheda prodotto, si aspetta di riceverlo entro 24 ore. Prestashop non è ancora in grado di impedire agli utenti di capire male quello che leggono Per questo dovresti cercare di scriverlo, magari nella desrizione breve, così sarà visibile anche al di fuori della pagina prodotto. E' comunque impossibile evitare di fatto che il cliente metta nel carrelo sia il prodotto su ordinazione che il prodotto standard, questo a prescindere o meno se abbia prima visto la pagina del prodotto oppure no. Sta a te cercare di comunicare opportunamente che i prodotti su ordinazione non arrivano in 24h. Link to comment Share on other sites More sharing options...
gaiasl Posted September 15, 2012 Author Share Posted September 15, 2012 Sempre nella stessa scheda prodotto, metti la spunta nel flag Mostra l'icona Saldi"... Comparirà una bizzara scritta rossa IN VENDITA, sia nella visualizzazione della pagina prodotto che della categoria. Vai a tradurre (vedi post precedente) la scritta IN VENDITA con: SOLO SU ORDINAZIONE. Ho usato questa soluzione e devo dire che funziona molto bene per la lista prodotti, grazie!! Ho visto che dentro la scheda prodotto c'è una nuova immagine l'icona saldi e l'ho sostituita con una mia per comunicare ai clienti in quanti giorni è disponibile il prodotto. Ti ringrazio ancora per tutti i preziosi consigli!! Link to comment Share on other sites More sharing options...
gaiasl Posted July 19, 2013 Author Share Posted July 19, 2013 (edited) Per chi è interessato alla soluzione di questo problema finalmente grazie ad un utente francese sono riuscita a modificare la lista prodotti product-list.tpl seguendo la guida dell'utente jp77 http://www.prestashop.com/forums/topic/260852-15-plus-davertissement-de-produit-hors-stock-avec- delai/page__hl__allow_oosp La modifica va bene sia per la versione 1.5.4.1 di prestashop ma anche per quelle più vecchie come la mia 1.4.8.2 Va sostituito {if isset($product.available_for_order) && $product.available_for_order && !isset ($restricted_country_mode)}<span class="availability">{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}</span>{/if} con {if isset($product.available_for_order) && $product.available_for_order && !isset ($restricted_country_mode)}{if ($product.allow_oosp && $product.quantity > 0)}<span class="availability">{l s='Available'}</span>{elseif $product.allow_oosp}<span class="soon">{l s='Available soon'}</span>{else}<span class="outstock">{l s='Out of stock'}{/if}</span>{/if} e poi bisogna modificare la traduzione nel back office, strumenti, traduzioni. Se dopo aver ricaricato la lista prodotti non vedete nessuna modifica è per colpa della cache del sito. Cancellate i file in tools/smarty/compile e tools/smarty/cache e funzionerà. Purtroppo c'è un problema, nella lista prodotti risultano non disponibili i prodotti presenti in magazzino se nella scheda prodotto è stato selezionato che non si accettano ordini. Edited July 19, 2013 by gaiasl (see edit history) 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