oscommerce e disponibilità prodotti

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

Rispondi
odaiba
membro Junior
membro Junior
Messaggi: 3
Iscritto il: 07/06/2010, 11:47

oscommerce e disponibilità prodotti

Messaggio da odaiba »

Ciao a tutti.
Come si fa a far visualizzare la disponibilita dei prodotti
con le icone scarsa ambia e non disponibile

ho oscommerce 2.2 rc2a

Grazie a chi mi risponde
dynamo
membro Master
membro Master
Messaggi: 1976
Iscritto il: 13/11/2007, 17:47
Contatta:

Re: oscommerce e disponibilità prodotti

Messaggio da dynamo »

cercando sul forum trovi tutto ;)
www.vinidimo.it

visitate e criticate se è il caso... solo con le critiche posso migliorarlo ^_^
Dax87
membro Regular
membro Regular
Messaggi: 100
Iscritto il: 25/08/2010, 12:36
Località: Torino
Contatta:

Re: oscommerce e disponibilità prodotti

Messaggio da Dax87 »

anche a me interesserebbe inserire la voce Disponibile, su ordinazione o non disponibile sui prodotti:

qui ho trovato i codici da implementari ma sono datati e non compatibili con la nuova 2.2 c'e modo di fare piccole modifiche a queste per farle funzionare?

in catalog/includes/modules/product_listing.php sostituire verso la linea 123:

Codice:

Codice: Seleziona tutto

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

Codice:

Codice: Seleziona tutto

case 'PRODUCT_LIST_QUANTITY': 
            $lc_align = 'center'; 
                     $prod_quantity = $listing['products_quantity']; 
                    $minus = ($prod_quantity <= 0); 
                    $red = ($prod_quantity == ''); 
                     $yellow = ($prod_quantity <= 3); 
                     $green =  ($prod_quantity > 3); 
                      
                     switch ($prod_quantity) { 
                  case $minus: 
                  $img = tep_image(DIR_WS_ICONS . 'icon_status_red.gif', 'Non disponibile') ; 
                  break; 
                  case $red: 
                  $img = tep_image(DIR_WS_ICONS . 'icon_status_red.gif', 'Non disponibile') ; 
                  break; 
                  case $yellow : 
                  $img = tep_image(DIR_WS_ICONS . 'icon_status_yellow.gif', 'Disponibilita' limitata') ; 
                  break; 
                     case $green : 
                  $img = tep_image(DIR_WS_ICONS . 'icon_status_green.gif', 'Disponibilita' immediata') ; 
                  break;    
                        } 
                  $lc_text = ' ' . $img . ' '; 
            break;
inoltre, per visualizzare la disponibilità anche nel detaglio articolo:

in catalog/product_info.php inserire verso la riga 96 circa dopo:

Codice:

Codice: Seleziona tutto

<td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></td>

il seguente codice:

Codice:

Codice: Seleziona tutto

<?php    if (PRODUCT_LIST_QUANTITY == 1){ 
                     $prod_quantity = $product_info['products_quantity']; 
                    $minus = ($prod_quantity <= 0); 
                     $red = ($prod_quantity == NULL); 
                     $yellow = ($prod_quantity <= 3); 
                     $green =  ($prod_quantity > 3);?> 
   <tr> 
   <td class="main"><br><?php 
                     switch ($prod_quantity) { 
                     case $minus: 
                  $img = '<FONT COLOR=#ff0000>[b]temporaneamente non disponibile[/b]</FONT>'; 
                  break; 
                  case $red: 
                  $img = '<FONT COLOR=#ff0000>[b]temporaneamente non disponibile[/b]</FONT>'; 
                  break; 
                  case $yellow : 
                  $img = '<FONT COLOR=#ff9900>[b]limitata[/b]</FONT>'; 
                  break; 
                     case $green : 
                  $img = '<FONT COLOR=#009900>[b]immediata[/b]</FONT>'; 
                  break;    
                        } 
                  echo "Disponibilità articolo:  " .$img ; 
                  ?>    
   </td> 
   </tr> 
<?php 
    } 
?>
attendo notizie ;)
http://www.renner-italia.com
RENNER RICAMBISTICA COMPONENTI PER PIANOFORTI.
dynamo
membro Master
membro Master
Messaggi: 1976
Iscritto il: 13/11/2007, 17:47
Contatta:

Re: oscommerce e disponibilità prodotti

Messaggio da dynamo »

Dax87 ha scritto:anche a me interesserebbe inserire la voce Disponibile, su ordinazione o non disponibile sui prodotti:

qui ho trovato i codici da implementari ma sono datati e non compatibili con la nuova 2.2 c'e modo di fare piccole modifiche a queste per farle funzionare?
-.-" quelli sono i miei codici e sono perfettamente compatibili...

poi non esiste il compatibile/non compatibile osc è tutto compatibile visto che tra una versione e l'altra non cambia praticamente nulla ;)

l'unica versione che ha problemi di compatibilità è la WAI ma solo a livello di html


se hai problemi ad utilizzare quel codice controlla i nomi delle variabili ;)
www.vinidimo.it

visitate e criticate se è il caso... solo con le critiche posso migliorarlo ^_^
Dax87
membro Regular
membro Regular
Messaggi: 100
Iscritto il: 25/08/2010, 12:36
Località: Torino
Contatta:

Re: oscommerce e disponibilità prodotti

Messaggio da Dax87 »

Sono riuscito posto qui la modifica per tutti:
:lol:

Differente da quella che è stata pubblicata qui sopra.

Aprire product_info.php in Catalog:
Linea 188 circa

Dopo:

Codice: Seleziona tutto

<div class="padd3"><?php echo stripslashes($product_info['products_description']); ?>
<br><br style="line-height:11px"><?php echo tep_draw_prod_price_top();?><span class="productSpecialPrice"><?php echo $products_price?>
Inserire:

Codice: Seleziona tutto

<?php echo clubosc_products_stock($product_info['products_id']); ?>
si possono inserire i <p> e </p> per fare spazio con il prezzo.

Aprire /includes/functions/html_output.php:
dopo il codice:

Codice: Seleziona tutto

// Creates a pull-down list of countries
  function tep_get_country_list($name, $selected = '', $parameters = '') {
    $countries_array = array(array('id' => '', 'text' => PULL_DOWN_DEFAULT));
    $countries = tep_get_countries();

    for ($i=0, $n=sizeof($countries); $i<$n; $i++) {
      $countries_array[] = array('id' => $countries[$i]['countries_id'], 'text' => $countries[$i]['countries_name']);
    }

    return tep_draw_pull_down_menu($name, $countries_array, $selected, $parameters);
  }
verso la fine

Inserire:

Codice: Seleziona tutto

function clubosc_products_stock($pID) {
      switch(tep_get_products_stock($pID)) {
          case 00:
          $in_stock = TEXT_LIMITED_AVAILABILITY;
          break;
          case 4:
          case 3:
          case 2:
          case 1:
          $in_stock = TEXT_VERY_LIMITED_AVAILABILITY;
          break;
          default:
          $in_stock = TEXT_UNLIMITED_AVAILABILITY;
      }
      return $in_stock;
  }
dove 0 sta per TEXT_LIMITED_AVAILABILITY; ovvero su ordinazione non incide con il prezzo su richiesta perchè agisce sul prezzo appunto.

EX:
http://www.piatino.it/Store/product_inf ... cts_id=553 con prezzo su richiesta
http://www.piatino.it/Store/product_inf ... cts_id=157 con prezzo ma solo su ordinazione

TEXT_VERY_LIMITED_AVAILABILITY; sta per la disponibilita' dei prodotti.

EX:
http://www.piatino.it/Store/product_inf ... cts_id=227

TEXT_UNLIMITED_AVAILABILITY; in caso non disponiate del prodotto infatti è su default: se la quantità è -1 va in non disponibile.
Infine inserire /includes/languages/{ tua lingua }/product_info.php

Codice: Seleziona tutto

define('TEXT_LIMITED_AVAILABILITY', '<font color="#F8CA5C"><b>Su Ordinazione</b></font>');
define('TEXT_VERY_LIMITED_AVAILABILITY', '<font color="#B5D8A5"><b>Disponibile</b></font>');
define('TEXT_UNLIMITED_AVAILABILITY', '<font color="#ff0000"><b>Non Disponibile</b></font>');
Io l'ho modificato a mio piacimento.

:mrgreen: che ne pensate?

questa è la base poi potete modificarlo come volete voi.... :mrgreen:
http://www.renner-italia.com
RENNER RICAMBISTICA COMPONENTI PER PIANOFORTI.
Dax87
membro Regular
membro Regular
Messaggi: 100
Iscritto il: 25/08/2010, 12:36
Località: Torino
Contatta:

Re: oscommerce e disponibilità prodotti

Messaggio da Dax87 »

Se volete anche visualizzare all'utente quante disponibilità in stock avete ecco il codice da mettere in product_info.php

Codice: Seleziona tutto

<?php echo tep_get_products_stock($product_info['products_id']); ?>
ovviamente il codice in html_output.php potete modificarlo a vostro piacimento in base alle quantità che disponete.
io l'ho modificato per me. il file originale è questo:

Codice: Seleziona tutto

function clubosc_products_stock($pID) {
      switch(tep_get_products_stock($pID)) {
          case 10:
          case 9:
          case 8:
          case 7:
          case 6:
          $in_stock = TEXT_LIMITED_AVAILABILITY;
          break;
          case 5:
          case 4:
          case 3:
          case 3:
          $in_stock = TEXT_VERY_LIMITED_AVAILABILITY;
          break;
          case 1:
          $in_stock = TEXT_ULTRA_LIMITED_AVAILABILITY;
          break;
          default:
          $in_stock = TEXT_UNLIMITED_AVAILABILITY;
      }
      return $in_stock;
  }
stessa cosa per il language l'originale è questo:

Codice: Seleziona tutto

define('TEXT_LIMITED_AVAILABILITY', 'We have a few in stock...');
define('TEXT_VERY_LIMITED_AVAILABILITY', 'We have very few in stock...');
define('TEXT_ULTRA_LIMITED_AVAILABILITY', 'Only 1 left, buy it now!');
define('TEXT_UNLIMITED_AVAILABILITY', 'We have loads in stock...');
Saluti ...
http://www.renner-italia.com
RENNER RICAMBISTICA COMPONENTI PER PIANOFORTI.
Cristian.2000
membro Regular
membro Regular
Messaggi: 103
Iscritto il: 20/04/2005, 7:56
Località: Brescia
Contatta:

Re: oscommerce e disponibilità prodotti

Messaggio da Cristian.2000 »

Ciao,
ho usato i tuoi codici, però ho un problema.
Mi indica sempre "prodotto non disponibile" anche se ho 100 articoli in magazzino.
(la prima cosa che ho pensato, è di aver sbagliato, avere messo "non disponibile" nella lingua, al posto di "disponibile", ma non è cosi xD)
Ho riguardato i codici piu volte, ma niente da fare..
Che quantita serve per mostrare DISPONIBILE?
Che quantita serve per mostrare DISPONIBILITA LIMITATA?
Che quantita serve per mostrare NON DISPONIBILE? suppongo 0
Mettendo quantita -1, non visualizza niente :)
Tuttavia mi basterebbe mostrare DISPONIBILE e DISPONIBILITA LIMITATA (3/4 giorni lavorativi) Per far ciò ho rinominato NON DISPONIBILE in DISPONIBILITA LIMITATA..
Tuttavia, lasciando cosi, sembra che tutti gli articoli sono limitati =) in quanto il disponibile non viene mai =(

Fammi sapere.
Grazie mille per i codice!
Dax87
membro Regular
membro Regular
Messaggi: 100
Iscritto il: 25/08/2010, 12:36
Località: Torino
Contatta:

Re: oscommerce e disponibilità prodotti

Messaggio da Dax87 »

Cristian.2000 ha scritto:Ciao,
ho usato i tuoi codici, però ho un problema.
Mi indica sempre "prodotto non disponibile" anche se ho 100 articoli in magazzino.
(la prima cosa che ho pensato, è di aver sbagliato, avere messo "non disponibile" nella lingua, al posto di "disponibile", ma non è cosi xD)
Ho riguardato i codici piu volte, ma niente da fare..
Che quantita serve per mostrare DISPONIBILE?
Che quantita serve per mostrare DISPONIBILITA LIMITATA?
Che quantita serve per mostrare NON DISPONIBILE? suppongo 0
Mettendo quantita -1, non visualizza niente :)
Tuttavia mi basterebbe mostrare DISPONIBILE e DISPONIBILITA LIMITATA (3/4 giorni lavorativi) Per far ciò ho rinominato NON DISPONIBILE in DISPONIBILITA LIMITATA..
Tuttavia, lasciando cosi, sembra che tutti gli articoli sono limitati =) in quanto il disponibile non viene mai =(

Fammi sapere.
Grazie mille per i codice!
allora le modifiche intanto devi riportale su questo codice

Codice: Seleziona tutto

function clubosc_products_stock($pID) {
      switch(tep_get_products_stock($pID)) {
          case 10:
          case 9:
          case 8:
          case 7:
          case 6:
          $in_stock = TEXT_LIMITED_AVAILABILITY;
          break;
          case 5:
          case 4:
          case 3:
          case 3:
          $in_stock = TEXT_VERY_LIMITED_AVAILABILITY;
          break;
          case 1:
          $in_stock = TEXT_ULTRA_LIMITED_AVAILABILITY;
          break;
          default:
          $in_stock = TEXT_UNLIMITED_AVAILABILITY;
      }
      return
e poi sistemare il linguaggio in base a cosa vuoi scrivere ovvero queste linee
define('TEXT_LIMITED_AVAILABILITY', 'We have a few in stock...');
define('TEXT_VERY_LIMITED_AVAILABILITY', 'We have very few in stock...');
define('TEXT_ULTRA_LIMITED_AVAILABILITY', 'Only 1 left, buy it now!');
define('TEXT_UNLIMITED_AVAILABILITY', 'We have loads in stock...');

il fatto che non ti dia nulla quando digiti 100 e perche nel file di orgine postato qui sopra non c'e la voce 100 ^^

ovvero io nel mio se scrivo 0 mi viene su ordinazione, se metto 1 in su mi viene disponibile se quando qualcuno acquista e in automatico va a -1 allora viene la voce non disponibile.

devi poi controllare le quantita' nel catalogo su admin.. strano non ti funzioni... devi solo giocare con i numeri che ci sono nel codice.. ora non ricordo piu' benissimo
ma l'ultima parte di codice
break;
default:
$in_stock = TEXT_UNLIMITED_AVAILABILITY;
}

dovrebbe essere quella che se scrivi 0 sul quantita' prodotti ti dovrebbe dare su ordinazione modificando ovviamente TEXT_UNLIMITED_AVAILABILITY nel linguaggio.
se hai ancora problemi fammi sapere verifico bene
http://www.renner-italia.com
RENNER RICAMBISTICA COMPONENTI PER PIANOFORTI.
gantz37
membro Junior
membro Junior
Messaggi: 11
Iscritto il: 08/10/2010, 22:08

Re: oscommerce e disponibilità prodotti

Messaggio da gantz37 »

Salve

ho visto che se la quantità di prodotto va in numeri negativi, la funzione lo considera come un numero positivo, si come i clienti non sanno quantità effettiva del prodotto e ordinandolo la quantità del prodotto va in negativo, mi vissualizza disponibilità ottima, O_O
C'è qualche soluzione?
Rispondi