RE: Need help with attributes
Paycheck <[email protected]>
| Newsgroups | gmane.comp.web.oscommerce.general |
|---|---|
| Message-ID | <4a4d305b93604ad106848db7679967f8@osCommerce-Forums> |
This message was sent from: General Support
http://forums.oscommerce.com/viewtopic.php?p=227708#227708
----------------------------------------------------------------
I am unsure if this is where I should be messing around. Per your post I am to be in the includes/classes/currencies.php. Here is the file you speak of but I am unsure based on what you have said where I am suppose to edit. Can you help me on this as I think I may have confused the issue.
My problem again is that I am unable to make the attributes drop down list in the catalog work for an increase in price for the same item. So for instance if I have an 8 qt. pot that is $20.00, and also the same style of pot only in a 16 qt. for $50.00 I would like to be able to use the attribute for the larger pot only adding in the attribute +$30.00. The issue whit this is that if the customer wants to buy the $20.00 pot they are getting the added charge of the $30.00 as it is in the attributed list at the top. I need somehow to make a default selection in the attributes that will keep that choice blank unless the customer drops down the list and chooses the item. I hope this is clearer that before but I am not seeing what you described in currencies.
I appreciate all your help.
JM
[code]<?php
/*
$Id: currencies.php,v 1.14 2003/02/11 00:04:51 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
////
// Class to handle currencies
// TABLES: currencies
class currencies {
var $currencies;
// class constructor
function currencies() {
$this->currencies = array();
$currencies_query = tep_db_query("select code, title, symbol_left, symbol_right, decimal_point, thousands_point, decimal_places, value from " . TABLE_CURRENCIES);
while ($currencies = tep_db_fetch_array($currencies_query)) {
$this->currencies[$currencies['code']] = array('title' => $currencies['title'],
'symbol_left' => $currencies['symbol_left'],
'symbol_right' => $currencies['symbol_right'],
'decimal_point' => $currencies['decimal_point'],
'thousands_point' => $currencies['thousands_point'],
'decimal_places' => $currencies['decimal_places'],
'value' => $currencies['value']);
}
}
// class methods
function format($number, $calculate_currency_value = true, $currency_type = '', $currency_value = '') {
global $currency;
if (empty($currency_type)) $currency_type = $currency;
if ($calculate_currency_value == true) {
$rate = (tep_not_null($currency_value)) ? $currency_value : $this->currencies[$currency_type]['value'];
$format_string = $this->currencies[$currency_type]['symbol_left'] . number_format($number * $rate, $this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . $this->currencies[$currency_type]['symbol_right'];
// if the selected currency is in the european euro-conversion and the default currency is euro,
// the currency will displayed in the national currency and euro currency
if ( (DEFAULT_CURRENCY == 'EUR') && ($currency_type == 'DEM' || $currency_type == 'BEF' || $currency_type == 'LUF' || $currency_type == 'ESP' || $currency_type == 'FRF' || $currency_type == 'IEP' || $currency_type == 'ITL' || $currency_type == 'NLG' || $currency_type == 'ATS' || $currency_type == 'PTE' || $currency_type == 'FIM' || $currency_type == 'GRD') ) {
$format_string .= ' <small>[' . $this->format($number, true, 'EUR') . ']</small>';
}
} else {
$format_string = $this->currencies[$currency_type]['symbol_left'] . number_format($number, $this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . $this->currencies[$currency_type]['symbol_right'];
}
return $format_string;
}
function get_value($code) {
return $this->currencies[$code]['value'];
}
function get_decimal_places($code) {
return $this->currencies[$code]['decimal_places'];
}
function display_price($products_price, $products_tax, $quantity = 1) {
return $this->format(tep_add_tax($products_price, $products_tax) * $quantity);
}
}
?>[/code]