Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Moidify product listing and infos page display


goldoi

Recommended Posts

Hello,

1- First, i would like to remove the prefix "+" between the option and the price in drop down list. I have already search on the forum and normally it's impossible because the option full price use the prefix. But i have install actual price 1.8, so i don't need prefix anymore. See my product info_page attached.

 

change1.jpg

How i can do that ? Just remove prefix everywhere ? :)

 

2- I want to remove the products page, in fact, i want that all the product of a categorie and their options/prices listed on the same page:

Like on this link for example : http://www.thewhitecompany.com/bedroom/bed-linen/belvedere-bed-linen-collection/

Do you know an addon for that ?

 

3- Which addon do you recommend to use to have thumbnail for products and when we click it enlarge it ?

 

4- If you have time, see also this post http://www.oscommerce.com/forums/topic/379268-create-a-new-block-for-dynamenu/ :)

 

Thx for your help!!

 

Goldoi, 100% beginner...

product_info.php

Link to comment
Share on other sites

2- Today i have begin the code for this on 2.3.1:

 

Ok after search, i have add this

in index.php in /includes/languages/english

define('TABLE_HEADING_OPTIONS', 'Options');

 

And put this sql form in the configuration table

 

insert into configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) values (254, 'Display Product options', 'PRODUCT_LIST_OPTIONS', '6', 'Do you want to display the optionsl?', '8', '11', NULL, '2011-08-16 15:01:46', NULL, NULL);

 

Now i want to finish this part of the code:

 

<?php
/*
 $Id$

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2010 osCommerce

 Released under the GNU General Public License
*/

 $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');
?>

 <div class="contentText">

<?php
 if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {
?>

<div>
  <span style="float: right;"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></span>

  <span><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></span>
</div>

<br />

<?php
 }

 $prod_list_contents = '<div class="ui-widget infoBoxContainer">' .
					'  <div class="ui-widget-header ui-corner-top infoBoxHeading">' .
					'	<table border="0" width="100%" cellspacing="0" cellpadding="2" class="productListingHeader">' .
					'	  <tr>';

 for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
$lc_align = '';

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_OPTIONS':
	$lc_text = TABLE_HEADING_OPTIONS;
	$lc_align = '';
	break;
  case 'PRODUCT_LIST_PRICE':
	$lc_text = TABLE_HEADING_PRICE;
	$lc_align = 'right';
	break;
  case 'PRODUCT_LIST_QUANTITY':
	$lc_text = TABLE_HEADING_QUANTITY;
	$lc_align = 'right';
	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;
}

if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) {
  $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text);
}

$prod_list_contents .= '		<td' . (tep_not_null($lc_align) ? ' align="' . $lc_align . '"' : '') . '>' . $lc_text . '</td>';
 }

 $prod_list_contents .= '	  </tr>' .
					 '	</table>' .
					 '  </div>';

 if ($listing_split->number_of_rows > 0) {
$rows = 0;
$listing_query = tep_db_query($listing_split->sql_query);

$prod_list_contents .= '  <div class="ui-widget-content ui-corner-bottom productListTable">' .
					   '	<table border="0" width="100%" cellspacing="0" cellpadding="2" class="productListingData">';

while ($listing = tep_db_fetch_array($listing_query)) {
  $rows++;

  $prod_list_contents .= '	  <tr>';

  for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
	switch ($column_list[$col]) {
	  case 'PRODUCT_LIST_MODEL':
		$prod_list_contents .= '		<td>' . $listing['products_model'] . '</td>';
		break;
	  case 'PRODUCT_LIST_NAME':
		if (isset($HTTP_GET_VARS['manufacturers_id']) && tep_not_null($HTTP_GET_VARS['manufacturers_id'])) {
		  $prod_list_contents .= '		<td><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a></td>';
		} else {
		  $prod_list_contents .= '		<td><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a></td>';
		}
		break;
	  case 'PRODUCT_LIST_MANUFACTURER':
		$prod_list_contents .= '		<td><a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a></td>';
		break;
// add options begin
	  case 'PRODUCT_LIST_OPTIONS':
			  $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name");
			  while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
				$products_options_array = array();
				$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'" . " order by pa.options_values_price");
				while ($products_options = tep_db_fetch_array($products_options_query)) {
				  $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
				  if ($products_options['options_values_price'] != '0') {
				   $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';
				  }
				}

			   if (is_string($HTTP_GET_VARS['products_id']) && isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {
				$selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']][$products_options_name['products_options_id']];
			   } else {
				$selected_attribute = false;
			   }
	   	 }  
   		$prod_list_contents .= '		<td><a href="' . tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute) . '</a></td>';

		 break;
//add options end
	  case 'PRODUCT_LIST_PRICE':
		if (tep_not_null($listing['specials_new_products_price'])) {
		  $prod_list_contents .= '		<td align="right"><del>' .  $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</del>  <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span></td>';
		} else {
		  $prod_list_contents .= '		<td align="right">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td>';
		}
		break;
	  case 'PRODUCT_LIST_QUANTITY':
		$prod_list_contents .= '		<td align="right">' . $listing['products_quantity'] . '</td>';
		break;
	  case 'PRODUCT_LIST_WEIGHT':
		$prod_list_contents .= '		<td align="right">' . $listing['products_weight'] . '</td>';
		break;
	  case 'PRODUCT_LIST_IMAGE':
		if (isset($HTTP_GET_VARS['manufacturers_id'])  && tep_not_null($HTTP_GET_VARS['manufacturers_id'])) {
		  $prod_list_contents .= '		<td align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>';
		} else {
		  $prod_list_contents .= '		<td align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>';
		}
		break;
	  case 'PRODUCT_LIST_BUY_NOW':
		$prod_list_contents .= '		<td align="center">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id'])) . '</td>';
		break;
	}
  }

  $prod_list_contents .= '	  </tr>';
}

$prod_list_contents .= '	</table>' .
					   '  </div>' .
					   '</div>';

echo $prod_list_contents;
 } else {
?>

<p><?php echo TEXT_NO_PRODUCTS; ?></p>

<?php
 }

 if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) {
?>

<br />

<div>
  <span style="float: right;"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></span>

  <span><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></span>
</div>

<?php
 }
?>

 </div>

All help will be welcome, when i will have finish, i'll put it as my first contribution :)

 

3- Fixed

4- Not fixed smile.png

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...