display stock in product info

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

Avatar utente
100asa
membro Regular
membro Regular
Messaggi: 166
Iscritto il: 28/09/2003, 0:00
Località: Italia
Contatta:

display stock in product info

Messaggio da 100asa »

ho trovato questa semplice contrib:

Codice: Seleziona tutto

<tr>
 <td class="main">
  <?php
  $prod_quantity = tep_get_products_stock($products_id);
  switch ($prod_quantity) {
      case buona:
      print "Out of Stock";
      break;
      case 1:
      print "We have 1 in stock";
      break;
      case 2:
      print "We have 2 in stock";
      break;
      case 3:
      print "We have 3 in stock";
      break;
      case 4:
      print "We have 4 in stock";
      break;
      default:
      print "We have 5+ in stock";
  }
  ?>
 </td>
</tr>
che mi visualizza in product info la quantià di prodotto in magazzino. E' l'unica che ho trovato. Però io non metto la quantità: bensi il testo. Come faccio a fargli capire che io ho il testo e non il numero? Grazie
Ultima modifica di 100asa il 31/10/2003, 15:30, modificato 1 volta in totale.
Avatar utente
100asa
membro Regular
membro Regular
Messaggi: 166
Iscritto il: 28/09/2003, 0:00
Località: Italia
Contatta:

Messaggio da 100asa »

come non detto: funziona!
BluEdoG
membro Master
membro Master
Messaggi: 1064
Iscritto il: 25/05/2003, 0:00
Località: italia
Contatta:

Messaggio da BluEdoG »

aspetta, ma se cambi il nome con il nr non funziona....
cioe' se non ho capito male analizza tramite la funzione tep_get_products_stock il quantitativo disponibile, lo dovrebbe confrontare con case (ma qui c'è qualcosa che non torna...) e dare il messaggio (che io cambierei con una bella gif)
saluti, Caneblu
[ www.caneblu.com ]
Avatar utente
100asa
membro Regular
membro Regular
Messaggi: 166
Iscritto il: 28/09/2003, 0:00
Località: Italia
Contatta:

Messaggio da 100asa »

funziona, funziona!
vedi un pò www.100asa.it
bye

ps: però la fine promozione non me la dici, cattivo!
BluEdoG
membro Master
membro Master
Messaggi: 1064
Iscritto il: 25/05/2003, 0:00
Località: italia
Contatta:

Messaggio da BluEdoG »

Codice: Seleziona tutto

          case 'PRODUCT_LIST_QUANTITY':
            $lc_align = 'center';
							$prod_quantity = $listing['products_quantity'];
  						$red = ($prod_quantity == '');
							$yellow = ($prod_quantity <= 10);
							$green =  ($prod_quantity > 10);
							
							switch ($prod_quantity) {  
      				case $red: 
      				$img = tep_image(DIR_WS_ICONS . 'icon_status_red.gif', '') ; 
      				break; 
      				case $yellow : 
      				$img = tep_image(DIR_WS_ICONS . 'icon_status_yellow.gif', '') ; 
      				break;
							case $green : 
      				$img = tep_image(DIR_WS_ICONS . 'icon_status_green.gif', '') ; 
      				break;	
								} 
						$lc_text = ' ' . $img . ' ';
            break;
questo è meglio secondo me... le img mettete quello che volete o copiate i pallini da admin.
saluti, Caneblu
[ www.caneblu.com ]
southmodel
membro Regular
membro Regular
Messaggi: 116
Iscritto il: 18/09/2003, 0:00
Località: Italia
Contatta:

Messaggio da southmodel »

a me non funziona, mi da sempre "disponibile" anche se la quantità è ZERO.....
Mi dite di preciso dove lo avete inserito in product_info.php?
BluEdoG
membro Master
membro Master
Messaggi: 1064
Iscritto il: 25/05/2003, 0:00
Località: italia
Contatta:

Messaggio da BluEdoG »

no va inserito in includes/modules/product_listing.php ... con un po' di ingegno lo riesci anche a ficcare nel product_info volendo
saluti, Caneblu
[ www.caneblu.com ]
southmodel
membro Regular
membro Regular
Messaggi: 116
Iscritto il: 18/09/2003, 0:00
Località: Italia
Contatta:

Messaggio da southmodel »

allora il codice da inserire per avere le gif è:

<?php
$prod_quantity = tep_get_products_stock($products_id);
switch ($prod_quantity) {
case 'PRODUCT_LIST_QUANTITY':
$lc_align = 'center';
$prod_quantity = $listing['products_quantity'];
$red = ($prod_quantity == '');
$yellow = ($prod_quantity <= 10);
$green = ($prod_quantity > 10);

switch ($prod_quantity) {
case $red:
$img = tep_image(DIR_WS_ICONS . 'icon_status_red.gif', '') ;
break;
case $yellow :
$img = tep_image(DIR_WS_ICONS . 'icon_status_yellow.gif', '') ;
break;
case $green :
$img = tep_image(DIR_WS_ICONS . 'icon_status_green.gif', '') ;
break;
}
$lc_text = ' ' . $img . ' ';
break;
}
?>

giusto?

dove mi consigli di metterlo?
BluEdoG
membro Master
membro Master
Messaggi: 1064
Iscritto il: 25/05/2003, 0:00
Località: italia
Contatta:

Messaggio da BluEdoG »

amazza che casino che hai fatto 8O
no il codice è quello che ho scritto io oppure quello che ha scritto 100 asa, e va messo al posto del blocco:

Codice: Seleziona tutto

case 'PRODUCT_LIST_QUANTITY': 
saluti, Caneblu
[ www.caneblu.com ]
southmodel
membro Regular
membro Regular
Messaggi: 116
Iscritto il: 18/09/2003, 0:00
Località: Italia
Contatta:

Messaggio da southmodel »

così?

<?php
}

$list_box_contents = array();

for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
switch ($column_list[$col]) {
case 'PRODUCT_LIST_MODEL':
$lc_text = TABLE_HEADING_MODEL;
$lc_align = '';
break;
case 'PRODUCT_LIST_NAME':
$lc_text = TABLE_HEADING_PRODUCTS;
$lc_align = '';
break;
case 'PRODUCT_LIST_MANUFACTURER':
$lc_text = TABLE_HEADING_MANUFACTURER;
$lc_align = '';
break;
case 'PRODUCT_LIST_PRICE':
$lc_text = TABLE_HEADING_PRICE;
$lc_align = 'right';
break;
case 'PRODUCT_LIST_QUANTITY':
$lc_align = 'center';
$prod_quantity = $listing['products_quantity'];
$red = ($prod_quantity == '');
$yellow = ($prod_quantity <= 10);
$green = ($prod_quantity > 10);

switch ($prod_quantity) {
case $red:
$img = tep_image(DIR_WS_ICONS . 'icon_status_red.gif', '') ;
break;
case $yellow :
$img = tep_image(DIR_WS_ICONS . 'icon_status_yellow.gif', '') ;
break;
case $green :
$img = tep_image(DIR_WS_ICONS . 'icon_status_green.gif', '') ;
break;
$lc_text = ' ' . $img . ' ';
break;
case 'PRODUCT_LIST_WEIGHT':
$lc_text = TABLE_HEADING_WEIGHT;
$lc_align = 'right';
break;
case 'PRODUCT_LIST_IMAGE':
$lc_text = TABLE_HEADING_IMAGE;
$lc_align = 'center';
break;
case 'PRODUCT_LIST_BUY_NOW':
$lc_text = TABLE_HEADING_BUY_NOW;
$lc_align = 'center';
break;
}

ho messo anche le img in catalog/images/icons ma non funziona!
BluEdoG
membro Master
membro Master
Messaggi: 1064
Iscritto il: 25/05/2003, 0:00
Località: italia
Contatta:

Messaggio da BluEdoG »

sorry :oops: dimenticavo che ce ne sono due di case 'PRODUCT_LIST_QUANTITY': è il secondo che va sostituito in toto fino al succesivo case 'PRODUCT_LIST_WEIGHT' il primo non va toccato
saluti, Caneblu
[ www.caneblu.com ]
southmodel
membro Regular
membro Regular
Messaggi: 116
Iscritto il: 18/09/2003, 0:00
Località: Italia
Contatta:

Messaggio da southmodel »

allora! il "secondo":

case 'PRODUCT_LIST_QUANTITY':
$lc_align = 'right';
$lc_text = ' ' . $listing['products_quantity'] . ' ';
break;
case 'PRODUCT_LIST_WEIGHT':
$lc_align = 'right';
$lc_text = ' ' . $listing['products_weight'] . ' ';
break;

diventa

case 'PRODUCT_LIST_QUANTITY':
$lc_align = 'center';
$prod_quantity = $listing['products_quantity'];
$red = ($prod_quantity == '');
$yellow = ($prod_quantity <= 10);
$green = ($prod_quantity > 10);

switch ($prod_quantity) {
case $red:
$img = tep_image(DIR_WS_ICONS . 'icon_status_red.gif', '') ;
break;
case $yellow :
$img = tep_image(DIR_WS_ICONS . 'icon_status_yellow.gif', '') ;
break;
case $green :
$img = tep_image(DIR_WS_ICONS . 'icon_status_green.gif', '') ;
break;
}
$lc_text = ' ' . $img . ' ';
break;
case 'PRODUCT_LIST_WEIGHT':
$lc_align = 'right';
$lc_text = ' ' . $listing['products_weight'] . ' ';
break;

giusto? infatti così funziona!! :D
Avatar utente
100asa
membro Regular
membro Regular
Messaggi: 166
Iscritto il: 28/09/2003, 0:00
Località: Italia
Contatta:

Messaggio da 100asa »

A L T! fermi tutti
il codice va proprio inserito in product info
io l'ho messo dopo

Codice: Seleziona tutto

<?php echo tep_draw_separator('pixel_trans.gif,'100%' ...etcetc
incollalo alla fine di questo che ti ho scritto. funziona vedi www.100asa.it nel dettaglio dell'articolo. bye
southmodel
membro Regular
membro Regular
Messaggi: 116
Iscritto il: 18/09/2003, 0:00
Località: Italia
Contatta:

Messaggio da southmodel »

RITOCCHIAMO il codice per ottenere le img ANCHE in catalog/product_info.php ed avere la disponibiltà anche nel dettaglio articolo?
come diceva bluedog se inserito in catalog/includes/modules/product_listing.php nel modo che ho postato mi da la disponibilità nell'elenco prodotti.
andate su www.primocontatto.com e ditemi che ve ne pare....
BluEdoG
membro Master
membro Master
Messaggi: 1064
Iscritto il: 25/05/2003, 0:00
Località: italia
Contatta:

Messaggio da BluEdoG »

si il concetto è sempre quello. Quello che ha fatto 100asa (eccetto per la parte dove dice case buona: ) effettua un controllo sulla quantità a magazzino, ma effettua una discriminazione solo sugli ultimi 5 pezzi.
Infatti case 1: significa che "controllo quanti prodotti a magazzino, se è uguale a 1 stampo we have 1 in stock".
Quello che ho fatto io, amplia un po' il discorso, prima dell'istruzione switch compaiono 3 variabili, $red $yellow $green a cui viene assegnata l'istruzione di controllo $prod_quantity (cioè il nr di prodotti a magazzino) e un operatore di confronto. Per esempio:

Codice: Seleziona tutto

$yellow = ($prod_quantity <= 10); 
significa che se i prodotti sono uguali o inferiori a 10 pezzi eseguiro' l'operazione prevista (ovvero mostrare una determinata gif), pertanto basta manipolare gli operatori o i numeri di magazzino per ottenere più soluzioni possibili in range di quantitativi. Potete anche piazzare ulteriori variabili ovviamente inserendo il relativo codice "case $variabile" nella funzione switch.
saluti, Caneblu
[ www.caneblu.com ]
Rispondi