Frank Cadillac Posted January 17, 2013 Share Posted January 17, 2013 Premetto che non ho la gestione avanzata di magazzino attivata, Un prodotto esce il 20 febbraio e so già che il 20 febbraio avrò 100 pezzi. Mettendo la quantità so già che viene esclusa la data di disponibilità perchè gerarchicamente superiore. O meglio, mi servirebbe che per esempio il 20 febbraio mi si caricassero in scheda già i pezzi stabiliti, e mi pare non sia possibile. Per venire al topic: Inserisco disponibilità 0 con possibiità di ordinare. Inserisco la DATA DISPONIBILITA' futura che è quella che poi dovrebbe apparire in scheda.... Ma niente da fare. Non appare indicata E' normale? Cioè, la data il cliente non può vederla? Link to comment Share on other sites More sharing options...
Frank Cadillac Posted February 7, 2013 Author Share Posted February 7, 2013 Nessuno ha una dritta? Link to comment Share on other sites More sharing options...
viger Posted February 14, 2013 Share Posted February 14, 2013 Interesserebbe anche a me questa cosa... Ho passato la serata a cercare una soluzione, ma mi sembra che PS non abbia questa funzione, almeno non la 1.5.0.17. Forse quella data non è per comunicare ai clienti la data del ritorno in vendita dell'articolo, ma solo per lo shop che lo riattiva in automatico. Credo eh? perché mi pare incredibile non ci sia soluzione, e spulcio il forum inglese! Boh, si aspettano lumi... Link to comment Share on other sites More sharing options...
viger Posted February 15, 2013 Share Posted February 15, 2013 (edited) Dunque, visto che la cosa mi interessa molto (produco io ciò che vendo e non sono la Cina! ) io ho risolto così. È un po' lungo (bisogna anche intervenire con php myadmin), ma funziona bene ed è ciò che desideravo. Va detto che parallelamente ho anche modificato e reso (spero) migliore il modulo mailalerts, indispensabile tassello.Quindi il discorso si riassume così: ho dei prodotti ==> tutto ok finiscono i prodotti ==> non accetto pre-ordini se non ho prodotti in magazzino ==> messaggio prodotto non disponibile ==> appare la scritta "arrivo previsto per" ==> da BO imposto tipo "metà maggio" ==> "metà maggio" appare evidenziata nella pagina prodotto contestualmente appare la possibilità di ricevere email quando nuovamente disponibile Ho provato e funziona tutto. PS versione 1.5.0.17 tema di default. HOW TO entrare in php myadmin entrare nel database di PS selezionare nella colonna di sinistra "ps_product_lang" selezionare la vista come struttura sotto l'elenco delle cartelle, impostare l'aggiunta di un campo dopo "available_later" e premere esegui nella schermata che si apre compilare i campi come da immagine cliccare salva aprire il file /classes/product.php cercare (verso riga 81) /** @var string available_later */ public $available_later; aggiungere dopo /** @var string available_time */ public $available_time; cercare (verso riga 300) 'available_later' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'IsGenericName', 'size' => 255), ), aggiungere dopo 'available_time' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'IsGenericName', 'size' => 255), aprire tuo_nome_admin/themes/default/template/controllers/products/quantities.tpl cercare (verso riga 219) <tr> <td class="col-left"><label>{l s='Displayed text when allowed to be back-ordered:'}</label></td> <td style="padding-bottom:5px;"> {include file="controllers/products/input_text_lang.tpl" languages=$languages input_value=$product->available_later input_name='available_later'} <span class="hint" name="help_box">{l s='Forbidden characters:'} <>;=#{}<span class="hint-pointer"> </span></span> </td> </tr> aggiungere dopo <tr> <td class="col-left"><label>{l s='Approximate time to be back in stock again:'}</label></td> <td style="padding-bottom:5px;"> {include file="controllers/products/input_text_lang.tpl" languages=$languages input_value=$product->available_time input_name='available_time'} <span class="hint" name="help_box">{l s='Forbidden characters:'} <>;=#{}<span class="hint-pointer"> </span></span><br /> <p class="preference_description" style="padding-top: 5px;">{l s='Type something like \'end of March\' or \'first week of June\''}</p> </td> </tr> aprire /themes/default/product.tpl cercare <!-- availability --> <p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) OR ($product->quantity > 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <span id="availability_label">{l s='Availability:'}</span> <span id="availability_value"{if $product->quantity <= 0} class="warning_inline"{/if}> {if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if} </span> </p> sostituire con <!-- availability --> <p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) OR ($product->quantity > 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <span id="availability_label">{l s='Availability:'}</span><br /> <span id="availability_value"{if $product->quantity <= 0} class="warning_inline"{/if}> {if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}</span><br /><br /> <span id="availability_label">{l s='Expected for: '}</span><br /><span id="availability_value"{if $product->quantity <= 0} class="warning_inline" style="background:#F7B900"{/if}>{$product->available_time}{/if}{else}{$product->available_now}{/if} </span> </p> salvare tutto e provare! Circa la modifica per il modulo mailalerts: aprire /modules/mailalerts/views/templates/hook/product.tpl cercare <!-- MODULE MailAlerts --> {if isset($email) AND $email} <input type="text" id="oos_customer_email" name="customer_email" size="20" value="{l s=' your e-mail' mod='mailalerts'}" class="mailalerts_oos_email" onclick="clearText();" /><br /> {/if} <a href="#" onclick="return addNotification();" id="mailalert_link">{l s='Notify me when available' mod='mailalerts'}</a> <span id="oos_customer_email_result" style="display:none; font-weight: bold"></span> <!-- END : MODULE MailAlerts --> sostituire con <!-- MODULE MailAlerts --> {l s='Would you like to receive an email when this product is back in stock?' mod='mailalerts'}<br /><br /> {if isset($email) AND $email} <input type="text" id="oos_customer_email" name="customer_email" size="40" value="{l s=' your email' mod='mailalerts'}" class="mailalerts_oos_email" onclick="clearText();" /> <br /><br /> {/if} <a href="#" onclick="return addNotification();" id="mailalert_link" class="button_mini" style="float: right">{l s='OK' mod='mailalerts'}</a><br /> <span id="oos_customer_email_result" style="display:none; font-weight: bold"></span> <!-- END : MODULE MailAlerts --> c'è un bug nella formattazione della disponibilità, risolto non so da che versione, in caso non cambi colore in verde e rosso, qui la soluzione: aprire /themes/default/css/product.css cercare #availability_statut span#availability_value { display:inline-block; padding:1px 5px; font-weight:bold; font-size:10px; color:#fff; text-transform:uppercase; background:#9b0000 } sostituire con #availability_statut span#availability_value { display:inline-block; padding:1px 5px; font-weight:bold; font-size:10px; color:#fff; text-transform:uppercase; background:green; } #availability_statut #availability_value.warning_inline { background-color:#9B0000; } Tutto qui! Attenzione nelle traduzioni quando si usano gli apostrofi, sempre meglio dare un escape \' spesso rompono degli script e ci si trova un errore 500 Il funzionamento è qui rappresentato:prodotto disponibile:prodotto in esaurimento:prodotto esaurito (cliente guest):prodotto esaurito (cliente loggato):Back Office:Buon lavoro! (15 min e si fa tutto) Edited October 13, 2013 by viger (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