Latest News: (loading..)

dabri

Core Team
  • Content count

    24
  • Joined

  • Last visited

3 Followers

About dabri

  • Birthday 07/16/1975

Profile Information

Recent Profile Visitors

16,600 profile views
  1. Hello, I?ve integrated the Contrib "MVS v0.9RC4" into my shop. Nearly everything is fine and thanks for this great contrib. I?ve one problem with taxes on the checkout_confirmation.php: 1) Display Prices with Tax: true checkout_confirmation.php: The tax will only be calculated for the Sub-Total, not for the Combined Shipping. Although products und shipping methods are in the same tax class. 2) If I change Display Prices with Tax: false checkout_confirmation.php: Now the Tax from the shipping methods are included the 16% Tax line, but I have also the following line: Unknown tax rate: 2,64? I?ve also check this with a clean ms2 installation und just repalce the files and it ist the same problem. Have anybody else the same problem or can somebody give me a hint to fix this problem. Thank you. Regards Daniel
  2. Hi Jan, thanks for your quick reply. This was a important hint for me, I?ve placed the globals in the wrong functions. Your post also directed me to the right spot in the code. The main changes are in the following part: // BOF Separate Pricing Per Customer ?if(!tep_session_is_registered('sppc_customer_group_id')) { ? $customer_group_id = '0'; ?} else { ? $customer_group_id = $sppc_customer_group_id; ?} ?$orders_customers_price = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where customers_group_id = '". $customer_group_id . "' and products_id = '" . $products[$i]['id'] . "'"); ?$orders_customers = tep_db_fetch_array($orders_customers_price); // EOF Separate Pricing Per Customer ? ? ? ?if ($products[$i]['model'] == 'BONUS') { ? ? ?$bonus_preis = $products[$i]['price']; ?} else if ($orders_customers['customers_group_price'] > '0'){ ? ? ?$bonus_preis = $orders_customers['customers_group_price']; ?} else { ? ? ?$bonus_preis = (tep_get_products_price_is_free($products[$i]['id']) ? 0 : $products_price_final ) + $cart->attributes_price($products[$i]['id'],1); ?} ? ? ? ?$this->products[$index] = array('qty' => $products[$i]['quantity'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'name' => $products[$i]['name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'model' => $products[$i]['model'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'tax' => tep_get_tax_rate($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'tax_description' => tep_get_tax_description($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'price' => $products[$i]['price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_dsd_gebuehr' => $products[$i]['products_dsd_gebuehr'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_sperr' => $products[$i]['products_sperr'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_extra1' => $products[$i]['products_extra1'], // Is products price excluded in final calc. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_price_excluded' => tep_get_products_price_excluded($products[$i]['id']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'product_is_free' => tep_get_products_price_is_free($products[$i]['id']), // Apply Discounts and Check for Free ? ? ? ? ?'final_price' => $bonus_preis, I think this is really dirty code, but it work for me after the first few tests. I hope I won?t find any mistakes :rolleyes: So now I have to optimize a last few things. Thank you very much!! Regards Daniel PS: I?ve you have any improvements for the code above, let me know..... B)
  3. Hello, first of all, thank you for this great contribution. I?ve installed SPPC 4.11 and everything seems to except one problem in the checkout. I?m using the Shoppe Enhanchement Controller (SEC) by Linda McGrath. As you can see in the image above, it will be shown the right seperate price for the product (13.25), but by the sub-total the normal price will displayed (19.60) In the second image you see the product from an order in the table orders_products. For this product in products_price will be insert the seperate price (13.25) and in final_price the normal price will be insert (19.60). I?ve tried many things in the classes/order.php, but nothing solved the problem. May be can an expert take a look over my order.php. <?php /* ?$Id: order.php,v 1.33 2003/06/09 22:25:35 hpdl Exp $ ?osCommerce, Open Source E-Commerce Solutions ?[url=http://www.oscommerce.com]http://www.oscommerce.com[/url] ?Copyright ? 2003 osCommerce ?Released under the GNU General Public License ?Shoppe Enhancement Controller - Copyright ? 2003 WebMakers.com ?Linda McGrath - osCommerce@WebMakers.com */ ?class order { // BOF: WebMakers.com Added: Shoppe Enhancement Controller ? ?var $info, $totals, $products, $customer, $delivery, $content_type, $extra_onetime_charges; // EOF: WebMakers.com Added: Shoppe Enhancement Controller ? ?function order($order_id = '') { ? ? ?$this->info = array(); ? ? ?$this->totals = array(); ? ? ?$this->products = array(); ? ? ?$this->customer = array(); ? ? ?$this->delivery = array(); ? ? ?if (tep_not_null($order_id)) { ? ? ? ?$this->query($order_id); ? ? ?} else { ? ? ? ?$this->cart(); ? ? ?} ? ?} ? ?function query($order_id) { ? ? ?global $languages_id; ? ? ?$order_id = tep_db_prepare_input($order_id); ? ? ?$order_query = tep_db_query("select customers_id, customers_name, customers_company, customers_street_address, customers_suburb, customers_city, customers_postcode, customers_state, customers_country, customers_telephone, customers_email_address, customers_address_format_id, delivery_name, delivery_company, delivery_street_address, delivery_suburb, delivery_city, delivery_postcode, delivery_state, delivery_country, delivery_address_format_id, billing_name, billing_company, billing_tva_intracom, billing_street_address, billing_suburb, billing_city, billing_postcode, billing_state, billing_country, billing_address_format_id, payment_method, cc_type, cc_owner, cc_number, cc_expires, currency, currency_value, date_purchased, orders_status, last_modified from " . TABLE_ORDERS . " where orders_id = '" . (int)$order_id . "'"); ? ? ?$order = tep_db_fetch_array($order_query); ? ? ?$totals_query = tep_db_query("select title, text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' order by sort_order"); ? ? ?while ($totals = tep_db_fetch_array($totals_query)) { ? ? ? ?$this->totals[] = array('title' => $totals['title'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'text' => $totals['text']); ? ? ?} ? ? ?$order_total_query = tep_db_query("select text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' and class = 'ot_total'"); ? ? ?$order_total = tep_db_fetch_array($order_total_query); ? ? ?$shipping_method_query = tep_db_query("select title from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' and class = 'ot_shipping'"); ? ? ?$shipping_method = tep_db_fetch_array($shipping_method_query); ? ? ?$order_status_query = tep_db_query("select orders_status_name from " . TABLE_ORDERS_STATUS . " where orders_status_id = '" . $order['orders_status'] . "' and language_id = '" . (int)$languages_id . "'"); ? ? ?$order_status = tep_db_fetch_array($order_status_query); ? ? ?$this->info = array('currency' => $order['currency'], ? ? ? ? ? ? ? ? ? ? ? ? ?'currency_value' => $order['currency_value'], ? ? ? ? ? ? ? ? ? ? ? ? ?'payment_method' => $order['payment_method'], ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_type' => $order['cc_type'], ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_owner' => $order['cc_owner'], ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_number' => $order['cc_number'], ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_expires' => $order['cc_expires'], ? ? ? ? ? ? ? ? ? ? ? ? ?'date_purchased' => $order['date_purchased'], ? ? ? ? ? ? ? ? ? ? ? ? ?'orders_status' => $order_status['orders_status_name'], ? ? ? ? ? ? ? ? ? ? ? ? ?'last_modified' => $order['last_modified'], ? ? ? ? ? ? ? ? ? ? ? ? ?'total' => strip_tags($order_total['text']), ? ? ? ? ? ? ? ? ? ? ? ? ?'shipping_method' => ((substr($shipping_method['title'], -1) == ':') ? substr(strip_tags($shipping_method['title']), 0, -1) : strip_tags($shipping_method['title']))); ? ? ?$this->customer = array('id' => $order['customers_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'name' => $order['customers_name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'company' => $order['customers_company'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'street_address' => $order['customers_street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'suburb' => $order['customers_suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'city' => $order['customers_city'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'postcode' => $order['customers_postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'state' => $order['customers_state'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'country' => $order['customers_country'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'format_id' => $order['customers_address_format_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'telephone' => $order['customers_telephone'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'email_address' => $order['customers_email_address']); ? ? ?$this->delivery = array('name' => $order['delivery_name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'company' => $order['delivery_company'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'street_address' => $order['delivery_street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'suburb' => $order['delivery_suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'city' => $order['delivery_city'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'postcode' => $order['delivery_postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'state' => $order['delivery_state'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'country' => $order['delivery_country'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'format_id' => $order['delivery_address_format_id']); ? ? ?if (empty($this->delivery['name']) && empty($this->delivery['street_address'])) { ? ? ? ?$this->delivery = false; ? ? ?} ? ? ?$this->billing = array('name' => $order['billing_name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'company' => $order['billing_company'], ? ? ? ?'tva_intracom' => $order['billing_tva_intracom'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'street_address' => $order['billing_street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'suburb' => $order['billing_suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'city' => $order['billing_city'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'postcode' => $order['billing_postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'state' => $order['billing_state'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'country' => $order['billing_country'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'format_id' => $order['billing_address_format_id']); // BOF: WebMakers.com Added: Shoppe Enhancement Controller ? ? ?$index = 0; ? ? ?$orders_products_query = tep_db_query("select orders_products_id, products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price, product_is_free, products_price_excluded from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . tep_db_input($order_id) . "'"); // MS2 ? ? ?$orders_products_query = tep_db_query("select orders_products_id, products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'"); ? ? ?while ($orders_products = tep_db_fetch_array($orders_products_query)) { ? ? ? ?$this->products[$index] = array('qty' => $orders_products['products_quantity'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'id' => $orders_products['products_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'name' => $orders_products['products_name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'model' => $orders_products['products_model'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'tax' => $orders_products['products_tax'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'price' => $orders_products['products_price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'final_price' => $orders_products['final_price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'product_is_free' => $orders_products['product_is_free'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_price_excluded' => $orders_products['products_price_excluded'] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?); // BOF Separate Pricing Per Customer ?if(!tep_session_is_registered('sppc_customer_group_id')) { ?$customer_group_id = '0'; ?} else { ? $customer_group_id = $sppc_customer_group_id; ?} ? if ($customer_group_id != '0'){ ? $orders_customers_price = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where customers_group_id = '". $customer_group_id . "' and products_id = '" . $products[$i]['id'] . "'"); ? ? ? ? if ($orders_customers = tep_db_fetch_array($orders_customers_price)){ ? ? ?$this->products[$index] = array('price' => $orders_customers['customers_group_price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'final_price' => $orders_customers['customers_group_price']); ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } // EOF Separate Pricing Per Customer ? ? ? ?$subindex = 0; ? ? ? ?$new_fields=', attributes_price_onetime, attributes_price_onetime_ext, product_attribute_is_free, products_attributes_weight, products_attributes_weight_prefix, attributes_price_onetime_ext, attributes_qty_prices_onetime, attributes_qty_prices_onetime_ext, attributes_discounted, attributes_price_factor, attributes_price_factor_offset'; ? ? ? ?$attributes_query = tep_db_query("select products_options, products_options_values, options_values_price, price_prefix" . $new_fields . " from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . tep_db_input($order_id) . "' and orders_products_id = '" . $orders_products['orders_products_id'] . "'"); // MS2 ? ? ? ?$attributes_query = tep_db_query("select products_options, products_options_values, options_values_price, price_prefix from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$order_id . "' and orders_products_id = '" . (int)$orders_products['orders_products_id'] . "'"); ? ? ? ?if (tep_db_num_rows($attributes_query)) { ? ? ? ? ?while ($attributes = tep_db_fetch_array($attributes_query)) { ? ? ? ? ? ?$this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'value' => $attributes['products_options_values'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'prefix' => $attributes['price_prefix'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'price' => $attributes['options_values_price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'product_attribute_is_free' => $attributes['product_attribute_is_free'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'products_attributes_weight_prefix' => $attributes['products_attributes_weight_prefix'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'products_attributes_weight' => $attributes['products_attributes_weight'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_onetime' => $attributes['attributes_price_onetime'], // fix here - IS THIS NEEDED? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_onetime_ext' => $attributes['attributes_price_onetime_ext'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_qty_prices_onetime' => $attributes['attributes_qty_prices_onetime'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_qty_prices_onetime_ext' => $attributes['attributes_qty_prices_onetime_ext'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_discounted' => $attributes['attributes_discounted'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_factor' => $attributes['attributes_price_factor'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_factor_offset' => $attributes['attributes_price_factor_offset'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_factor_ext' => $attributes['attributes_price_factor_ext'] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ); ? ? ? ? ? ?$subindex++; ? ? ? ? ?} ? ? ? ?} // EOF: WebMakers.com Added: Shoppe Enhancement Controller ? ? ? ?$this->info['tax_groups']["{$this->products[$index]['tax']}"] = '1'; ? ? ? ?$index++; ? ? ?} ? ?} ? ?function cart() { ? ? ?global $customer_id, $sendto, $billto, $cart, $languages_id, $currency, $currencies, $shipping, $payment; ? ? ?$this->content_type = $cart->get_content_type(); ? ? ?$customer_address_query = tep_db_query("select c.customers_firstname, c.customers_lastname, c.customers_telephone, c.customers_email_address, ab.entry_company, ab.entry_tva_intracom, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, co.countries_id, co.countries_name, co.countries_iso_code_2, co.countries_iso_code_3, co.address_format_id, ab.entry_state from " . TABLE_CUSTOMERS . " c, " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " co on (ab.entry_country_id = co.countries_id) where c.customers_id = '" . (int)$customer_id . "' and ab.customers_id = '" . (int)$customer_id . "' and c.customers_default_address_id = ab.address_book_id"); ? ? ?$customer_address = tep_db_fetch_array($customer_address_query); ? ? ?$shipping_address_query = tep_db_query("select ab.entry_firstname, ab.entry_lastname, ab.entry_company, ab.entry_tva_intracom, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)$sendto . "'"); ? ? ?$shipping_address = tep_db_fetch_array($shipping_address_query); ? ? ?$billing_address_query = tep_db_query("select ab.entry_firstname, ab.entry_lastname, ab.entry_company, ab.entry_tva_intracom, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)$billto . "'"); ? ? ?$billing_address = tep_db_fetch_array($billing_address_query); ? ? ?$tax_address_query = tep_db_query("select ab.entry_country_id, ab.entry_zone_id from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)($this->content_type == 'virtual' ? $billto : $sendto) . "'"); ? ? ?$tax_address = tep_db_fetch_array($tax_address_query); ? ? ?$this->info = array('order_status' => DEFAULT_ORDERS_STATUS_ID, ? ? ? ? ? ? ? ? ? ? ? ? ?'currency' => $currency, ? ? ? ? ? ? ? ? ? ? ? ? ?'currency_value' => $currencies->currencies[$currency]['value'], ? ? ? ? ? ? ? ? ? ? ? ? ?'payment_method' => $payment, ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_type' => (isset($GLOBALS['cc_type']) ? $GLOBALS['cc_type'] : ''), ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_owner' => (isset($GLOBALS['cc_owner']) ? $GLOBALS['cc_owner'] : ''), ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_number' => (isset($GLOBALS['cc_number']) ? $GLOBALS['cc_number'] : ''), ? ? ? ? ? ? ? ? ? ? ? ? ?'cc_expires' => (isset($GLOBALS['cc_expires']) ? $GLOBALS['cc_expires'] : ''), ? ? ? ? ? ? ? ? ? ? ? ? ?'shipping_method' => $shipping['title'], ? ? ? ? ? ? ? ? ? ? ? ? ?'shipping_cost' => $shipping['cost'], ? ? ? ? ? ? ? ? ? ? ? ? ?'subtotal' => 0, ? ? ? ? ? ? ? ? ? ? ? ? ?'dsd_gebuehr' => 0, ? ? ? ? ? ? ? ? ? ? ? ? ?'sperr' => 0, ? ? ? ? ? ? ? ? ? ? ? ? ?'tax' => 0, ? ? ? ? ? ? ? ? ? ? ? ? ?'tax_groups' => array(), ? ? ? ? ? ? ? ? ? ? ? ? ?'comments' => (isset($GLOBALS['comments']) ? $GLOBALS['comments'] : '')); ? ? ?if (isset($GLOBALS[$payment]) && is_object($GLOBALS[$payment])) { ? ? ? ?$this->info['payment_method'] = $GLOBALS[$payment]->title; ? ? ? ?if ( isset($GLOBALS[$payment]->order_status) && is_numeric($GLOBALS[$payment]->order_status) && ($GLOBALS[$payment]->order_status > 0) ) { ? ? ? ? ?$this->info['order_status'] = $GLOBALS[$payment]->order_status; ? ? ? ?} ? ? ?} ? ? ?$this->customer = array('firstname' => $customer_address['customers_firstname'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'lastname' => $customer_address['customers_lastname'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'company' => $customer_address['entry_company'], ? ? ? ? 'tva_intracom' => $customer_address['entry_tva_intracom'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'street_address' => $customer_address['entry_street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'suburb' => $customer_address['entry_suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'city' => $customer_address['entry_city'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'postcode' => $customer_address['entry_postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'state' => ((tep_not_null($customer_address['entry_state'])) ? $customer_address['entry_state'] : $customer_address['zone_name']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'zone_id' => $customer_address['entry_zone_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'country' => array('id' => $customer_address['countries_id'], 'title' => $customer_address['countries_name'], 'iso_code_2' => $customer_address['countries_iso_code_2'], 'iso_code_3' => $customer_address['countries_iso_code_3']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'format_id' => $customer_address['address_format_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'telephone' => $customer_address['customers_telephone'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'email_address' => $customer_address['customers_email_address']); ? ? ?$this->delivery = array('firstname' => $shipping_address['entry_firstname'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'lastname' => $shipping_address['entry_lastname'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'company' => $shipping_address['entry_company'], ? ? ? ? 'tva_intracom' => $shipping_address['entry_tva_intracom'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'street_address' => $shipping_address['entry_street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'suburb' => $shipping_address['entry_suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'city' => $shipping_address['entry_city'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'postcode' => $shipping_address['entry_postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'state' => ((tep_not_null($shipping_address['entry_state'])) ? $shipping_address['entry_state'] : $shipping_address['zone_name']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'zone_id' => $shipping_address['entry_zone_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'country' => array('id' => $shipping_address['countries_id'], 'title' => $shipping_address['countries_name'], 'iso_code_2' => $shipping_address['countries_iso_code_2'], 'iso_code_3' => $shipping_address['countries_iso_code_3']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'country_id' => $shipping_address['entry_country_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'format_id' => $shipping_address['address_format_id']); ? ? ?$this->billing = array('firstname' => $billing_address['entry_firstname'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'lastname' => $billing_address['entry_lastname'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'company' => $billing_address['entry_company'], ? ? ? ?'tva_intracom' => $billing_address['entry_tva_intracom'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'street_address' => $billing_address['entry_street_address'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'suburb' => $billing_address['entry_suburb'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'city' => $billing_address['entry_city'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'postcode' => $billing_address['entry_postcode'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'state' => ((tep_not_null($billing_address['entry_state'])) ? $billing_address['entry_state'] : $billing_address['zone_name']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'zone_id' => $billing_address['entry_zone_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'country' => array('id' => $billing_address['countries_id'], 'title' => $billing_address['countries_name'], 'iso_code_2' => $billing_address['countries_iso_code_2'], 'iso_code_3' => $billing_address['countries_iso_code_3']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'country_id' => $billing_address['entry_country_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'format_id' => $billing_address['address_format_id']); // BOF: WebMakers.com Added: Shoppe Enhancement Controller ? ? ?$index = 0; ? ? ?$products = $cart->get_products(); ? ? ?for ($i=0, $n=sizeof($products); $i<$n; $i++) { // WebMakers.com Added: exclude products price ? ? ? ? ? ?if ($products[$i]['products_price_excluded']=='1') { ? ? ? ? ? ? ?$products_price_final = 0; ? ? ? ? ? ?} else { ? ? ? ? ? ? ?if ($products[$i]['products_price_excluded']=='1') { ? ? ? ? ? ? ? ?$products_price_final = 0; ? ? ? ? ? ? ?} else { ? ? ? ? ? ? ? ?$products_price_final = tep_get_products_price_quantity_discount_price($products[$i]['id'], $cart->in_cart_mixed($products[$i]['id'])); ? ? ? ? ? ? ?} ? ? ? ? ? ?} ? ? ? ?if ($products[$i]['model'] == 'BONUS') { ? ? ?$bonus_preis = $products[$i]['price']; ?} else { ? ? ?$bonus_preis = (tep_get_products_price_is_free($products[$i]['id']) ? 0 : $products_price_final ) + $cart->attributes_price($products[$i]['id'],1); ?} ? ? ? ?$this->products[$index] = array('qty' => $products[$i]['quantity'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'name' => $products[$i]['name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'model' => $products[$i]['model'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'tax' => tep_get_tax_rate($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'tax_description' => tep_get_tax_description($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'price' => $products[$i]['price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_dsd_gebuehr' => $products[$i]['products_dsd_gebuehr'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_sperr' => $products[$i]['products_sperr'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_extra1' => $products[$i]['products_extra1'], // Is products price excluded in final calc. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'products_price_excluded' => tep_get_products_price_excluded($products[$i]['id']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'product_is_free' => tep_get_products_price_is_free($products[$i]['id']), // Apply Discounts and Check for Free ? ? ? ? ?'final_price' => $bonus_preis, // One time charge to add in to final price ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'attributes_price_onetime_ext' => $cart->attributes_price($products[$i]['id'],0), // Attributes QTY:prices onetime charge ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'attributes_qty_prices_onetime_ext' => $cart->attributes_price($products[$i]['id'],2), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'weight' => $products[$i]['weight'] + $cart->attributes_weight($products[$i]['id']), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'id' => $products[$i]['id'] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?); // BOF Separate Pricing Per Customer ?if(!tep_session_is_registered('sppc_customer_group_id')) { ?$customer_group_id = '0'; ?} else { ? $customer_group_id = $sppc_customer_group_id; ?} ?if ($customer_group_id != '0'){ ?$orders_customers_price = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where customers_group_id = '". $customer_group_id . "' and products_id = '" . $products[$i]['id'] . "'"); ?$orders_customers = tep_db_fetch_array($orders_customers_price); ? ?if ($orders_customers = tep_db_fetch_array($orders_customers_price)) { ? ?$this->products[$index] = array('price' => $orders_customers['customers_group_price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'final_price' => $orders_customers['customers_group_price'] + $cart->attributes_price($products[$i]['id'])); ? ?} ?} // EOF Separate Pricing Per Customer ? ? ? ?$this->info['dsd_gebuehr'] += $products[$i]['products_dsd_gebuehr'] * $products[$i]['quantity']; ? ? ? ?$this->info['sperr'] += $products[$i]['products_sperr']; ? ? ? ?if ($products[$i]['attributes']) { ? ? ? ? ?$subindex = 0; ? ? ? ? ?reset($products[$i]['attributes']); ? ? ? ? ?while (list($option, $value) = each($products[$i]['attributes'])) { // WebMakers.com Added: Attributes Sorter and Copier and Quantity Controller ? ? ? ? ? ?$new_fields=', attributes_price_onetime, product_attribute_is_free, products_attributes_weight, products_attributes_weight_prefix, attributes_qty_prices_onetime, attributes_discounted, attributes_price_factor, attributes_price_factor_offset'; ? ? ? ? ? ?$attributes_query = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix" . $new_fields . " from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $products[$i]['id'] . "' and pa.options_id = '" . $option . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $value . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"); // MS2 ? ? ? ? ? ?$attributes_query = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . (int)$products[$i]['id'] . "' and pa.options_id = '" . (int)$option . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . (int)$value . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . (int)$languages_id . "' and poval.language_id = '" . (int)$languages_id . "'"); ? ? ? ? ? ?$attributes = tep_db_fetch_array($attributes_query); // BOF: WebMakers.com Added: Attributes Option Type with Text // dogu 2003-02-28 BEGIN determine if attribute is a text attribute and change products array appropriate ? ? ? ? ? ?if ($value == PRODUCTS_OPTIONS_VALUE_TEXT_ID){ ? ? ? ? ? ? ?$attr_value = $products[$i]['attributes_values'][$option]; ? ? ? ? ? ?} else { ? ? ? ? ? ? ?$attr_value = $attributes['products_options_values_name']; ? ? ? ? ? ?} ? ? ? ? ? ?$this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options_name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'value' => $attr_value, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'option_id' => $option, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'value_id' => $value, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'prefix' => $attributes['price_prefix'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'price' => $attributes['options_values_price'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_onetime' => $attributes['attributes_price_onetime'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'product_attribute_is_free' => $attributes['product_attribute_is_free'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'products_attributes_weight_prefix' => $attributes['products_attributes_weight_prefix'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'products_attributes_weight' => $attributes['products_attributes_weight'], // fix here - is this needed? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_onetime_ext' => $attributes['attributes_price_onetime_ext'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_qty_prices_onetime' => $attributes['attributes_qty_prices_onetime'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_qty_prices_onetime_ext' => $attributes['attributes_qty_prices_onetime_ext'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_discounted' => $attributes['attributes_discounted'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_factor' => $attributes['attributes_price_factor'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_factor_offset' => $attributes['attributes_price_factor_offset'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'attributes_price_factor_ext' => $attributes['attributes_price_factor_ext'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ); // dogu 2003-02-28 END determine if attribute is a text attribute and change products array appropriate // EOF: WebMakers.com Added: Attributes Option Type with Text ? ? ? ? ? ?$subindex++; ? ? ? ? ?} ? ? ? ?} // EOF: WebMakers.com Added: Shoppe Enhancement Controller // BOF: WebMakers.com Added: Shoppe Enhancement Controller // Attributes one time fees // Attributes QTY:prices onetime charge ? ? ? ?$extra_onetime_charges= tep_add_tax($customer_id, $this->products[$index]['attributes_price_onetime_ext'],$this->products[$index]['tax'],1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+ tep_add_tax($customer_id, $this->products[$index]['attributes_qty_prices_onetime_ext'],$this->products[$index]['tax'],1) ? ? ? ? ? ? ? ? ? ? ? ? ? ?; ? ? ? ? ?$shown_price = (tep_add_tax($customer_id, $this->products[$index]['final_price'], $this->products[$index]['tax']) * $this->products[$index]['qty']) + $extra_onetime_charges; ? ? ? ?$this->info['subtotal'] += $shown_price; ? ? ? ? // EOF: WebMakers.com Added: Shoppe Enhancement Controller ? ? ? ?$products_tax = $this->products[$index]['tax']; ? ? ? ?$products_tax_description = $this->products[$index]['tax_description']; ? ? ? ?if (DISPLAY_PRICE_WITH_TAX == 'true') { ? ? ? ? ?$this->info['tax'] += $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax))); ? ? ? ? ?if (isset($this->info['tax_groups']["$products_tax_description"])) { ? ? ? ? ? ?$this->info['tax_groups']["$products_tax_description"] += $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax))); ? ? ? ? ?} else { ? ? ? ? ? ?$this->info['tax_groups']["$products_tax_description"] = $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax))); ? ? ? ? ?} ? ? ? ?} else { ? ? ? ? ?$this->info['tax'] += ($products_tax / 100) * $shown_price; ? ? ? ? ?if (isset($this->info['tax_groups']["$products_tax_description"])) { ? ? ? ? ? ?$this->info['tax_groups']["$products_tax_description"] += ($products_tax / 100) * $shown_price; ? ? ? ? ?} else { ? ? ? ? ? ?$this->info['tax_groups']["$products_tax_description"] = ($products_tax / 100) * $shown_price; ? ? ? ? ?} ? ? ? ?} ? ? ? ?$index++; ? ? ?} ? ? ?if (DISPLAY_PRICE_WITH_TAX == 'true') { ? ? ? ?$this->info['total'] = $this->info['subtotal'] + $this->info['shipping_cost']; ? ? ?} else { ? ? ? ?$this->info['total'] = $this->info['subtotal'] + $this->info['tax'] + $this->info['shipping_cost']; ? ? ?} ? ?} ?} ?> Thank you very much! Regards Daniel
  4. It would be nice, when it is possible to search for a products by model or text, if I want to add a new product to the order. Regards Daniel
  5. Hello, I?ve installed the shipdate contribution and everything worked fine. But I?ve one problem: I want to sell Gift Vouchers in my shop and for these Vouchers should be with free shipping for the costumer. But if I buy an voucher and will check out, I will transported directly to the payment options, like it should be. But after I choose a payment option, I don?t move on to the checkout_confirmation.php, because I don?t choose a shipdate. Is there any solution to ship a Gift Voucher for free and the shipdate modul don?t make trouble? Thanks & Greets Daniel
  6. Hi, I?ve osC 2.2 MS2 Shop with SEC 2.2 installed on my webspace. Now I?ve installed the Shipdate v2.0 contribution: http://www.oscommerce.com/community/contributions,1393 Everything is work fine, but on the checkout_confirmation.php, I have the following strange behavior: Made the following changes: and after this Code: <td class="main"><?php echo $order->info['shipping_method']; ?></td> </tr> <?php } I add the following Code: if (isset($order->delivery['shipdate'])) { ?> <tr> <td class="main"><?php echo '<b>' . HEADING_ARRIVAL_DATE . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td> </tr> <tr> <td class="main"><?php echo date('F j, Y',$order->delivery['shipdate']); ?></td> </tr> <?php }else{print_r($order->delivery);} ?> Can somebody tell me, how can I remove these array, which you can see in the image. Thanks Regards Daniel
  7. I?ve installed the Contribution Shipping Zone Rates with SQL: http://www.oscommerce.com/community/contributions,1478 It works fine, but I get the following Error-Message: Parse error: parse error in /home/www/web725/html/catalog/includes/modules/shipping/tollzipzones.php on line 114 Can anybody have a solution to solve this problem? I use osc CVS 2.2 (snapshot 25.03.2003). Have I the wrong osc version for this contribution? Thanks & Greets Daniel
  8. Hi TaFfin, thank you :!: It works perfect. Daniel
  9. May be you can include this feature with your next update: Rates based on ZIP-Code - and you you can choose the ZIP-Code with wild cards, for example: 481** For is this an interesting feature. Regards Daniel
  10. Hello, I have installed Family Products v 1.0 in my osCommerce Shop http://www.oscommerce.com/community/contributions,895 Everything seems to work, I?m so proud of me :roll: and a big thanks to the aouthor of this contribution. But there is one thing I want to change: Normally on the product_info.php will the box Customers who bought this product also purchased displayed, this is correct. I configure a product to a certain Products Family Class, then shown the box Accessories and related Products: instead. But in this case, I don?t want to show only the Family Product Box, I want also to the box Also purchased. I?m not so fit in PHP, but I think this is the code to change in the product_info.php: <?php $currentid = $HTTP_GET_VARS['products_id']; $family_query = tep_db_query("select products_family from " . TABLE_PRODUCTS . " where products_id = " . $currentid . ""); $results = tep_db_fetch_array($family_query); if ($results['products_family'] != '') { include(DIR_WS_MODULES . FILENAME_FAMILY_PRODUCTS); } else { include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); } } ?> Can Anybody tell me, what I have to change. so that I can display both boxes on the product_info.php? Sorry my english is not so good, I hope you understand everything! Thanks & Regards Daniel