Pagina 1 di 1

No stock, no Checkout e Buy it Now contributions

Inviato: 06/09/2004, 17:58
da loris_ripa
Ciao,
ho installato questa contribution veramente molto utile...
Se lo stock del prodotto è superiore a 0 permette l'acquisto altrimenti compare il bottone Non disponibile.
Secondo me è utilissima...si è corretti con il cliente e si evitano problemi...
Ok tutto perfetto...
Il problema nasce dal fatto che avevo installato un'altra contribution per rendere un po' più viva la vetrina delle novità...si chiama Buy it now e fa si che i nuovi prodotti abbiano anche il bottone che c'è in product listing.
L' installazione semplice semplice e la modifica sostanziale da fare in new_products.php è questa:

'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])) . '<br><a href="' . tep_href_link(FILENAME_DEFAULT, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $new_products['products_id'], 'NONSSL') . '">' . tep_image_button('button_buy_now.gif', TEXT_BUY . $new_products['products_name'] . TEXT_NOW) . '</a>');

la parte in neretto è quella relativa al bottone, che anche con il prodotto a quantità 0 rimane attivo....infatti la contribution No stock, no chekout utilizza in product_listing.php:

if ($listing['products_quantity']<=0) {
$lc_text = tep_image_button('button_buy_now_na.gif', IMAGE_BUTTON_BUY_NOW_NA) . ' ';
} else {
$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';
}

Con le mie scarse conoscenze di php ho provato ad integrare le due cose...ma non ci sono riuscito...
Avete consigli?
Ciao
Loris Ripa

Inviato: 09/09/2004, 9:16
da loris_ripa
...proprio nessuna idea?...
=)
Ciao
Loris Ripa

Re: No stock, no Checkout e Buy it Now contributions

Inviato: 13/09/2004, 12:41
da Giacomo
loris_ripa ha scritto: 'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])) . '<br><a href="' . tep_href_link(FILENAME_DEFAULT, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $new_products['products_id'], 'NONSSL') . '">' . tep_image_button('button_buy_now.gif', TEXT_BUY . $new_products['products_name'] . TEXT_NOW) . '</a>');

la parte in neretto è quella relativa al bottone, che anche con il prodotto a quantità 0 rimane attivo....infatti la contribution No stock, no chekout utilizza in product_listing.php:

if ($listing['products_quantity']<=0) {
$lc_text = tep_image_button('button_buy_now_na.gif', IMAGE_BUTTON_BUY_NOW_NA) . ' ';
} else {
$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';
}

Con le mie scarse conoscenze di php ho provato ad integrare le due cose...ma non ci sono riuscito...
Avete consigli?
Ciao
Loris Ripa
Allora, puoi fare in questo modo. Devi modificare solo il file new_products.php.

Prima modifica. Righe 23 e 25, le righe della creazione della query SQL.

Riga 23:
... = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, p.products_quantity, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);

Riga 25:
... = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, p.products_quantity, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id . "' and p.products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);

Poi vai in basso, nella parte dove c'è scritto:

$info_box_contents[$row][$col] = array(...
...);

Remmi questa parte, e la sostituisci con:
if ($new_products['products_quantity'] > 0) {
/*qui ci metti il codice che c'era prima DA TE MODIFICATO. Con l'aggiunta cioè della parte in neretto*/
$info_box_contents[$row][$col] = array(...
...);
}
else {
/*qui ci metti il codice che c'era prima ALL'INIZIO, SENZA LA TUA MODIFICA*/
$info_box_contents[$row][$col] = array(...
...);
}


Spero di essermi spiegato bene, in caso chiedi.
ciao

Inviato: 13/09/2004, 20:14
da loris_ripa
...mhmmm....ma così non mi compare il bottone non disponibile...
se c'è il prodotto mi compare il bottone, se non c'è non compare niente...giusto?...
Io invece vorrei far comparire il bottone Aquista quando ho il prodotto, e il bottone Non Disp quando la quantità è 0...
A meno che abbia sbagliato a fare la modifica...=)...infatti non ho capito il significato della parola "Remmi"...
...ah grazie tanto per l'impegno...
Ciao
Loris Ripa

Inviato: 13/09/2004, 23:06
da Giacomo
Semplice:
if ($new_products['products_quantity'] > 0) {
/*qui ci metti il codice che c'era prima DA TE MODIFICATO. Con l'aggiunta cioè della parte in neretto*/
$info_box_contents[$row][$col] = array(...
...);
}
else {
/*qui ci metti lo stesso codice di sopra, però la parte in neretto (quella nuova) dovrai modificarla in questo modo:
...<b>tep_image_button('button_non_disp.gif', "prodotto non disponibile"));</b>
*/
}

Inviato: 15/09/2004, 9:26
da loris_ripa
Allora...vediamo se ho capito...=)...

Codice: Seleziona tutto

if ($new_products['products_quantity'] > 0) { 
 $info_box_contents[$row][$col] = array('align' => 'center',
                                           'params' => 'class="smallText" width="33%" valign="top"',
                                           'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])) . '<br><a href="' . tep_href_link(FILENAME_DEFAULT, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $new_products['products_id'], 'NONSSL') . '">' . tep_image_button('button_buy_now.gif', TEXT_BUY . $new_products['products_name'] . TEXT_NOW) . '</a>');
} 
else {
$info_box_contents[$row][$col] = array('align' => 'center',
                                           'params' => 'class="smallText" width="33%" valign="top"',
                                           'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])) . '<br>' . tep_href_link(FILENAME_DEFAULT, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $new_products['products_id'], 'NONSSL') . '">' . tep_image_button('button_buy_now_na.gif', "prodotto non disponibile"));
}
Funziona...quasi bene...ci lavoro nel pomeriggio poi ti faccio sapere...
Ciao
Loris Ripa

Inviato: 15/09/2004, 19:01
da loris_ripa
Ecco il codice perfettamente funzionante...

Codice: Seleziona tutto

$info_box_contents[$row][$col] = array('align' => 'center',
                                           'params' => 'class="smallText" width="33%" valign="top"',
                                           'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])) . '<br><a href="' . tep_href_link(FILENAME_DEFAULT, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $new_products['products_id'], 'NONSSL') . '">' . tep_image_button('button_buy_now.gif', TEXT_BUY . $new_products['products_name'] . TEXT_NOW) . '</a>');
} 
else {
$info_box_contents[$row][$col] = array('align' => 'center',
                                           'params' => 'class="smallText" width="33%" valign="top"',
                                           'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])) . '<br>' . tep_image_button('button_buy_now_na.gif', "prodotto non disponibile"));
}

prossimo step...applicare il tutto a what_new.php...=)...
Ciao
Loris Ripa