DARKF3D3 Posted September 19, 2012 Share Posted September 19, 2012 Ho notato che per alcuni prodotti a catalogo non viene mostrato il messaggio "disponibile a magazzino/non disponibile. Ho provato a controllare nel backoffice ma non mi sembra che sia possibile scegliere se visualizzare la disponibilità o meno dalla pagina del prodotto. Il codice interessato dovrebbe essere questo: <!-- 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_value"{if $product->quantity <= 0} class="terminato"{else}class="disponibile"{/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> Ho provato a fare delle modifiche ma continua a non visualizzarmi la disponibilità per alcuni prodotti... Link to comment Share on other sites More sharing options...
eugenata Posted September 19, 2012 Share Posted September 19, 2012 Ciao DARKF3D3, quello chce hai postato è un codice personalizzato che hai solo tu, se usi il tema di default sicuramente funziona su tutti i prodotti. Link to comment Share on other sites More sharing options...
DARKF3D3 Posted September 20, 2012 Author Share Posted September 20, 2012 Ciao DARKF3D3, quello chce hai postato è un codice personalizzato che hai solo tu, se usi il tema di default sicuramente funziona su tutti i prodotti. No ho provato ma il problema resta, anche perché nel codice che ho postato, rispetto a quello di default, ho aggiunto solamente le classi per cambiare colore alla scritta quando il prodotto è disponibile. Questo è il codice che ho preso da un file "pulito" di PS 1.4.9: <!-- 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> Comunque se qualcuno ha modo di provare su di un'intallazione senza modifiche e ancora con i prodotti di default, il problema di cui parlo è presente su: iPod Touch, MacBook e MacBook Air. Infatti entrando nella scheda prodotto la disponibilità non viene mostrata, mentre per iPod e iPod Shuffle si. Link to comment Share on other sites More sharing options...
eugenata Posted September 20, 2012 Share Posted September 20, 2012 DARKF3D3, io credo che il tuo codice sia scorretto in più punti ma, sopratutto non serviva modificarlo in modo così profondo. Infatti, come si nota dal codice originale che hai postato, ovvero questo: <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> esiste già una classe diversa per indicare che il prodotto non è disponibile, la classe è warning_inline, se vuoi usare una tua classe personale devi solo cambiare questo nome con il nome della tua classe. ... Comunque se qualcuno ha modo di provare su di un'intallazione senza modifiche e ancora con i prodotti di default, il problema di cui parlo è presente su: iPod Touch, MacBook e MacBook Air. Infatti entrando nella scheda prodotto la disponibilità non viene mostrata, mentre per iPod e iPod Shuffle si. Riguardo il diverso comportamento da un prodotto all'altro, dipende da dal fatto che se in b.o. nella scheda prodotto selezioni l'opzione Accetta gli ordini dove chiede Quando fuori magazzino:, la scritta Questo prodotto non è più disponibile non compare (ovviamnete). Link to comment Share on other sites More sharing options...
DARKF3D3 Posted September 20, 2012 Author Share Posted September 20, 2012 (edited) esiste già una classe diversa per indicare che il prodotto non è disponibile, la classe è warning_inline, se vuoi usare una tua classe personale devi solo cambiare questo nome con il nome della tua classe. Le ulteriori modifiche le ho fatte per aggiungere la classe "disponibile" in modo da poter personalizzare anche la scritta a magazzino. Mentre alla classe "warning_inline" ho semplicemente cambiato il nome in "terminato", in modo da avere 2 classi: disponibile e terminato, in questo modo anche senza commenti le trovo in fretta e capisco rapidamente di cosa si tratta. Riguardo il diverso comportamento da un prodotto all'altro, dipende da dal fatto che se in b.o. nella scheda prodotto selezioni l'opzione Accetta gli ordini dove chiede Quando fuori magazzino:, la scritta Questo prodotto non è più disponibile non compare (ovviamnete). Il prodotto è disponibile, però ti ringrazio perché grazie a te sono riuscito a trovare il problema (che era molto vicino), infatti 2 righe sopra c'è il campo: Messagggio mostrato quando in magazzino; controllando mi sono reso conto che per i prodotti incriminati quel campo era vuoto. Ora, visto che per tutti i prodotti disponibili voglio visualizzare sempre lo stesso messaggio non è possibile modificare il file product.tpl in modo che lo visualizzi sempre, senza dover star li ad inserire "in magazzino" ogni volta? Edited September 20, 2012 by DARKF3D3 (see edit history) Link to comment Share on other sites More sharing options...
eugenata Posted September 20, 2012 Share Posted September 20, 2012 ... Ora, visto che per tutti i prodotti disponibili voglio visualizzare sempre lo stesso messaggio non è possibile modificare il file product.tpl in modo che lo visualizzi sempre, senza dover star li ad inserire "in magazzino" ogni volta? Lo modifichi dalle traduzioni: Traduzioni front office, fieldset: product, voce: items in stock Link to comment Share on other sites More sharing options...
eugenata Posted September 20, 2012 Share Posted September 20, 2012 (edited) ... Il prodotto è disponibile, però ti ringrazio perché grazie a te sono riuscito a trovare il problema (che era molto vicino), infatti 2 righe sopra c'è il campo: Messagggio mostrato quando in magazzino; controllando mi sono reso conto che per i prodotti incriminati quel campo era vuoto. ... Devo correggerti perchè stai dando un'informazione sbagliata, ovvero tu dici che se il campo è vuoto, non appare nessuna scritta in f.o. Invece non è così, se il campo Messagggio mostrato quando in magazzino viene lasciato vuoto, in f.o. compare la dicitura di default per la stringa items in stock, preceduto dal numero di prodotti disponibili. Questo se in b.o. > Prefernze > Prodotti, hai flaggato SI dove chiede: Mostra le quantità disponibili nella pagina del prodotto: Quindi torniamo al tuo codice personalizzato che potrebbe essere la causa che impedisce questo funzionamento. Edited September 20, 2012 by eugenata (see edit history) Link to comment Share on other sites More sharing options...
DARKF3D3 Posted September 20, 2012 Author Share Posted September 20, 2012 (edited) Però anche modificando le traduzioni se dalla scheda prodotto nel BO lascio vuoto il campo "messaggio mostrato quando in magazzino:" sul sito non mostra niente. Quello che sto cercando di fare è trovare un modo per bypassare quel campo, quindi sia che sia vuoto o meno vorrei visualizzare sempre lo stesso messaggio. EDIT: Ho letto ora il tuo secondo messaggio... controllo il codice della pagina e ti dico. Edited September 20, 2012 by DARKF3D3 (see edit history) Link to comment Share on other sites More sharing options...
DARKF3D3 Posted September 20, 2012 Author Share Posted September 20, 2012 (edited) Tutta la parte di codice che visualizza il numero di prodotti disponibili l'ho eliminata perché non mi serviva, avendola già disabilitata dal backoffice ho deciso di toglierla anche dal file tpl per alleggerirlo da parti di codice inutili (credo...). A questo punto il problema forse è questo, però in ogni caso io voglio solo visualizzare 2 messaggi: "Disponibile" e "Terminato" per ora non mi serve visualizzare altro. Pensavo sarebbe bastato modificare questa parte di codice, però a quanto pare non è così <!-- 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> ...mi sfugge qualcosa Edited September 20, 2012 by DARKF3D3 (see edit history) Link to comment Share on other sites More sharing options...
eugenata Posted September 20, 2012 Share Posted September 20, 2012 ... in ogni caso io voglio solo visualizzare 2 messaggi: "Disponibile" e "Terminato" per Se non vuoi mostrare la quantità di prodotti disponibili, dovresti per prima cosa rimettere a posto il codice originale. Poi nel blocco di codice successivo, commenta il tag <span> che visualizza il numero di prodotti, in questo modo: <!-- number of item in stock --> {if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)} <p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}> <!--<span id="quantityAvailable">{$product->quantity|intval}</span> --> <span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}</span> <span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span> </p> {/if} Apprirà solo il testo della stringa items in stock che avrai avuto cura di modificare a tuo piacimento come indicato sopra. Link to comment Share on other sites More sharing options...
DARKF3D3 Posted September 20, 2012 Author Share Posted September 20, 2012 Ho provato a utilizzare il tuo metodo, però in quel modo per i prodotti dove veniva già visualizzata la scritta "disponibile" mi ritrovavo col la scritta doppia. Per risolvere sarebbe bastato svuotare il campo del messaggio da visualizzare dei prodotti incriminati però alla fine ho preferito fare diversamente. La parte "number of item in stock" l'ho lasciata commentata, in questo modo se in futuro mi dovesse servire potrò inserirla facilmente, mentre ho modificato il resto: <!-- availability --> <p> <span id="availability_value"{if $product->quantity <= 0} class="terminato"{else}class="disponibile"{/if}> {if $product->quantity <= 0}{l s='This product is no longer in stock'}{else}{l s='In stock'}{/if} </span> </p> In questo modo, qualsiasi sia l'impostazione nel BO per i prodotti viene sempre visualizzato o il messaggi o"Disponibile" o "non disponibile". Grazie lo stesso per l'aiuto, da solo non sarei riuscito ad arrivare alla soluzione. Link to comment Share on other sites More sharing options...
eugenata Posted September 20, 2012 Share Posted September 20, 2012 DARKF3D3 scusa ma sono costretto a correggerti di nuovo: si vedono 2 scritte solo se compili il campo: Messagggio mostrato quando in magazzino: se lo lasci vuoto, compare solo la scritta di cui sopra. Link to comment Share on other sites More sharing options...
DARKF3D3 Posted September 20, 2012 Author Share Posted September 20, 2012 Si con la frase: Per risolvere sarebbe bastato svuotare il campo del messaggio da visualizzare dei prodotti incriminati però alla fine ho preferito fare diversamente. Intendevo proprio quello, forse mi sono spiegato male... comunque forse un po' per pigrizia ho preferito fare come ho scritto sopra, così almeno anche se mi dovessi dimenticare di svuoltare alcuni campi già compilati verrebbe mostrato in ogni caso solo un messaggio. 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