Jump to content

Problema prodotti su ordinazione e lista prodotti


gaiasl

Recommended Posts

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}

post-366528-0-42366800-1347627492_thumb.jpg

Link to comment
Share on other sites

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

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

...

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:

  1. 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.
     
  2. 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.
     
  3. 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 by eugenata (see edit history)
Link to comment
Share on other sites

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

...

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

 

  1. 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.
     
  2. 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

  • 10 months later...

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 by gaiasl (see edit history)
Link to comment
Share on other sites

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...