Pagina 1 di 3
display stock in product info
Inviato: 30/10/2003, 20:44
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
Inviato: 30/10/2003, 21:05
da 100asa
come non detto: funziona!
Inviato: 31/10/2003, 15:04
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)
Inviato: 31/10/2003, 15:29
da 100asa
funziona, funziona!
vedi un pò
www.100asa.it
bye
ps: però la fine promozione non me la dici, cattivo!
Inviato: 31/10/2003, 16:30
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.
Inviato: 31/10/2003, 16:37
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?
Inviato: 31/10/2003, 16:39
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
Inviato: 31/10/2003, 16:42
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?
Inviato: 31/10/2003, 17:00
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:
Inviato: 31/10/2003, 17:01
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!
Inviato: 31/10/2003, 17:09
da BluEdoG
sorry
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
Inviato: 31/10/2003, 17:11
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!!
Inviato: 31/10/2003, 17:50
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
Inviato: 31/10/2003, 17:58
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....
Inviato: 31/10/2003, 18:31
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:
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.