Pagina 1 di 2

Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 20/09/2011, 19:56
da devilx3
Ciao, come da titolo qualcuno conosce una contrib che permette di disattivare il pulsante "aggiungi al carrello" quando lo stock articolo scende a 0 oppure in negativo?
Magari qualcosa che possa lavorare soltanto su product_info.php
Grazie

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 21/09/2011, 10:21
da dynamo
puoi anche semplicemente mettere un IF con controllo della quantità... non vedo la necessità di creare una contribution per questo :roll:

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 21/09/2011, 18:57
da devilx3
Qualcuno ha qualche dritta?

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 22/09/2011, 14:28
da devilx3
Ok, ho risolto inserendo delle istruzioni alternative e funzionano correttamente sulla 2.3.1 (su 2.2 dovrete adattare testo e\o immagine carrello).
In questo modo vi troverete un pulsante con il testo del define (in questo caso Prodotto Esaurito) al posto di (Aggiungi al carrello) per i prodotti che hanno uno stock pari o inferiore a 0, cliccandoci sopra nn verrà aggiunto nulla al carrello e verrete portati nuovamente in home.

Ho modificato il file product_info.php da:

Codice: Seleziona tutto

<span class="buttonAction"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_draw_button(IMAGE_BUTTON_IN_CART, 'cart', null, 'primary'); ?></span>
in:

Codice: Seleziona tutto

<span class="buttonAction">
	<?php
	if ($product_info['products_quantity']<>0){
		 echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_draw_button(IMAGE_BUTTON_IN_CART, 'cart', null, 'primary');
		 }else{
			 echo tep_draw_button(IMAGE_BUTTON_OUT_STOCK, null, ''); 
    		}
		  ?></span>
Naturalmente ho dato al file catalog/includes/languages/italiano.php

un define aggiuntivo

Codice: Seleziona tutto

define('IMAGE_BUTTON_OUT_STOCK', '<font color="#ff0000"><B>Prodotto Esaurito</b></font>');
al file catalog/includes/languages/english.php (fatelo per tutte le eventuali lingue installate)

Codice: Seleziona tutto

define('IMAGE_BUTTON_OUT_STOCK', '<font color="#ff0000"><B>Unavailable</b></font>');
PS: I valori lato admin (nel pannello di controllo) per la gestione dello stock devono essere:
Check stock level --> true
Allow Checkout -->false

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 23/09/2011, 21:15
da 06voip
una curiosità, cosa significa

if ($product_info['products_quantity']<>0 ?

non dovrebbe essere

if ($product_info['products_quantity']<= 0

?

non sono un esperto di php, però non vorrei che mi stia sfuggendo qualcosa :)

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 24/09/2011, 14:05
da devilx3
06voip ha scritto:una curiosità, cosa significa

if ($product_info['products_quantity']<>0 ?

non dovrebbe essere

if ($product_info['products_quantity']<= 0

?

non sono un esperto di php, però non vorrei che mi stia sfuggendo qualcosa :)
<>0 richiama il pulsante carrello, altrimenti il pulsante "Prodotto Esaurio" L'avevo scritto così perchè determinati prodotti che tengo con stock a -1 potessero essere acquistabili dietro preordine (specificandolo al checkout), per chi volesse disabilitare anche con stock in negativo basta sostituire il <>0 con <= 0 ed invertire gli echo così:

Codice: Seleziona tutto

    <span class="buttonAction">
	<?php
	if ($product_info['products_quantity'] <= 0){
		echo tep_draw_button(IMAGE_BUTTON_OUT_STOCK, null, '');
		 }else{
			 echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_draw_button(IMAGE_BUTTON_IN_CART, 'cart', null, 'primary');
			 }
		  ?></span>

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 24/09/2011, 15:01
da 06voip
devilx3 ha scritto:<>0 richiama il pulsante carrello, altrimenti il pulsante "Prodotto Esaurio" L'avevo scritto così perchè determinati prodotti che tengo con stock a -1 potessero essere acquistabili dietro preordine (specificandolo al checkout)
per questo bastava lasciare Allow Checkout a true..

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 24/09/2011, 15:22
da devilx3
06voip ha scritto:
devilx3 ha scritto:<>0 richiama il pulsante carrello, altrimenti il pulsante "Prodotto Esaurio" L'avevo scritto così perchè determinati prodotti che tengo con stock a -1 potessero essere acquistabili dietro preordine (specificandolo al checkout)
per questo bastava lasciare Allow Checkout a true..
Si, è vero ma a me serviva avere tre status
maggiore di zero acquistabile
uguale a zero non acquistabile
inferiore a zero acquistabile con preordine
Comunque su questo store nn uso checkout, soltanto Paypal checkuot express.

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 25/09/2011, 0:54
da 06voip
per me stai facendo un casino immane! cmq si impara così, ..il più è non renderlo pubblico :wink: :)

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 07/10/2011, 17:35
da jerys1974
Questa è un'alternativa ma...
ti posso chiedere se c'è un modo per eliminare alla vista del visitatore, un articolo che sta a 0?
Vorrei fare un negozio con rimanenze di magazzino e, quando un prodotto e a 0, è inutile tenerlo in visione...
poi magari lo cancello io da admin ma, non potendo essere presente 24 ore su 24...
Grazie in anticipo :)

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 07/10/2011, 21:01
da 06voip
http://forums.oscommerce.com/topic/1344 ... utofstock/ se cercavi con google la trovavi! :-) anche se a nel mio mi sembra che avevo usato una contrib che oltre al prodotto mi nascondeva anche la categoria in caso risultasse vuota, però non ricordo quel'è.. prova questa soluzione intanto

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 10/10/2011, 11:01
da jerys1974
Ciao,
ma se il tuo consiglio era semplicemente un'impostazione del pannello di controllo dell'OSC:
in admin -> stock

check stock level = true
subtract stock = true
allow checkout = false

allora ti devo dire che ho già provato., anche perché mi son letto diversi post in questo forum, andando fino a quelli del 2006 (infatti se guardi i miei messaggi di richiesta d'aiuto, ho evitato di aprire nuovi post e sono andato a commentare quelli vecchi).
L'unica cosa è che sembra non funzionare. L'articolo mi rimane visibile ed ordinabile, bloccando qualsiasi ordine tu voglia fare perché non ti fa proseguire con i pagamenti. Io vorrei semplicemente una contrib o un'idea di come posso far SPARIRE l'articolo esaurito dal negozio.

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 10/10/2011, 11:39
da 06voip
sono desolato per averti indicato una possibile soluzione al tuo problema, impegnano il mio tempo inutilmente. Evidentemente dovrò sostituire la mia palla di cristallo poichè ultimamente non funziona più così bene. :)

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 10/10/2011, 18:23
da jerys1974
Dai su... non fare così...
non era mia intenzione offenderti o risponderti male.
Sono sicuramente partito male nella mia risposta con quel "ma se...".
Volevo solo dire che non sono come quei iscritti che mettono un post nuovo per non andare a cercare la soluzione su altri post, dove magari hanno già affrontato e risolto il problema. Chiedo pertanto scusa se sono stato sgarbato nel risponderti... perdono perdono... :)
Comunque il mio problema rimane. Ho letto su altri post che settando con true true false, ad alcuni scompare l'articolo o il pulsante... a me no e sto tentando con il OSC 2.3.1

Re: Disattivare pulsante aggiungi al carrello con stock a 0

Inviato: 10/10/2011, 19:57
da 06voip
più che altro se avevi già provato delle soluzioni potevi indicarlo, ad ogni modo sembra proprio si faccia da admin. Nel mio ho true true false e cmq uso la 2.2 anche se non penso ci sia differenza su questo