Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Contribution: Category Descriptions


joeri

Recommended Posts

This is the general contribution support thread of Category Descriptions.

You can find the latest version at: http://www.oscommerce.com/community/contributions,4294

 

Please, leave any questions concering bugs, problems, or suggestions in this thread.

Edited by joeri
Link to comment
Share on other sites

  • Replies 78
  • Created
  • Last Reply

Top Posters In This Topic

Hi, just installed your category descriptions contribution and liked the look of it on your example page.

 

However, as soon as I enter a category title on the category edit page I get this

 

1054 - Unknown column 'categories_name' in 'field list'

 

update categories set categories_name = '', categories_heading_title = '', categories_description = '', last_modified = now() where categories_id = '2'

 

[TEP STOP]

 

and this when i put something in the category description

 

1054 - Unknown column 'categories_name' in 'field list'

 

update categories set categories_name = '', categories_heading_title = '', categories_description = '', last_modified = now() where categories_id = '2'

 

[TEP STOP]

 

Guess I've missed something somewhere :)

 

regards

Graham

Edited by itsgraham
Link to comment
Share on other sites

Hi, just installed your category descriptions contribution and liked the look of it on your example page.

 

However, as soon as I enter a category title on the category edit page I get this

 

1054 - Unknown column 'categories_name' in 'field list'

 

update categories set categories_name = '', categories_heading_title = '', categories_description = '', last_modified = now() where categories_id = '2'

 

[TEP STOP]

 

and this when i put something in the category description

 

1054 - Unknown column 'categories_name' in 'field list'

 

update categories set categories_name = '', categories_heading_title = '', categories_description = '', last_modified = now() where categories_id = '2'

 

[TEP STOP]

 

Guess I've missed something somewhere :)

 

regards

Graham

 

Yes... You missed something :)

You forgot 4 (Database) of the install.

 

ALTER TABLE categories_description ADD categories_heading_title varchar(64) AFTER categories_name;
ALTER TABLE categories_description ADD categories_description text AFTER categories_heading_title;

Cut and paste those lines in the SQL editor of PHPmyAdmin. Then it should all be working fine. Good luck!

Link to comment
Share on other sites

Yes... You missed something :)

You forgot 4 (Database) of the install.

 

ALTER TABLE categories_description ADD categories_heading_title varchar(64) AFTER categories_name;
ALTER TABLE categories_description ADD categories_description text AFTER categories_heading_title;

Cut and paste those lines in the SQL editor of PHPmyAdmin. Then it should all be working fine. Good luck!

 

Nope, I did that bit, and went back into phpmyadmin after I got the fault to check they were there.

 

I have ...

categories_description

 

and inside that I have

categories_id

language_id

categories_name

categories_heading_title

categories_description

 

When I look in the database the categories_name is full of the existing category names and categories_heading_title and Categories_description are all full of NULLs

 

Beats me :)

 

regards

Graham

Link to comment
Share on other sites

Nope, I did that bit, and went back into phpmyadmin after I got the fault to check they were there.

 

I have ...

categories_description

 

and inside that I have

categories_id

language_id

categories_name

categories_heading_title

categories_description

 

When I look in the database the categories_name is full of the existing category names and categories_heading_title and Categories_description are all full of NULLs

 

I see. Then indeed your table altering went perfect. Just it seems your version of OSC wants to update the table categories instead of categories_description. What version of OSC do you use? (It was only tested on the latest version of OSC).

 

And, if you open admin/includes/database_tables.php, can you find the following lines:

define('TABLE_CATEGORIES', 'categories');
define('TABLE_CATEGORIES_DESCRIPTION', 'categories_description');

Link to comment
Share on other sites

Hi again

 

I am not sure about which osc other than that it is 2,2 and I only downloaded it a few weeks ago.

 

and yes, those defines are in the database_tables file.

 

sounding ominous isn't it :)

 

I do have lots of other contribs, some of which are in the same files but I checked the code carefully before changing it.

 

 

 

regards

Graham

 

 

I see. Then indeed your table altering went perfect. Just it seems your version of OSC wants to update the table categories instead of categories_description. What version of OSC do you use? (It was only tested on the latest version of OSC).

 

And, if you open admin/includes/database_tables.php, can you find the following lines:

define('TABLE_CATEGORIES', 'categories');
define('TABLE_CATEGORIES_DESCRIPTION', 'categories_description');

Link to comment
Share on other sites

http://www.papajimsbotanica.com/catalog/in...c81406f7e55df28

 

Mod seems to work well with the small exception of kicking everything over to the right column and also duplicating the products table lower, in the left had column.

 

Any suggestions as to why?

 

No idea. Are you using the latest version of OSC?

Link to comment
Share on other sites

joeri, i just installed 5.0 over version 4.0. everything runs great. i have another site that i would like to add this contribution to. do i need version 4.0 first or can i just go ahead with 5.0?

 

also in the 5.0 instructions there is this listing under contents:

 

4. New File: admin/includes/functions/categories_description.php

 

is this a file missing from the package or should it be deleted from the listing. i never came across this file with both installs.

 

TIA

 

richie

Link to comment
Share on other sites

joeri, i just installed 5.0 over version 4.0. everything runs great. i have another site that i would like to add this contribution to. do i need version 4.0 first or can i just go ahead with 5.0?
No need to have 4.0 at all, as the sturcture and storage is different than any version before. The 5 package is a full add-on.

 

also in the 5.0 instructions there is this listing under contents:

4. New File: admin/includes/functions/categories_description.php

is this a file missing from the package or should it be deleted from the listing. i never came across this file with both installs.

As I made changes to the original table of OSC, there is NO need anymore for this file. All you need is right in the readme.txt.

 

Just, make sure you download the latest version for full multilanguage support. Good luck! :)

Link to comment
Share on other sites

Hi, just installed your category descriptions contribution and liked the look of it on your example page.

 

However, as soon as I enter a category title on the category edit page I get this

 

1054 - Unknown column 'categories_name' in 'field list'

 

update categories set categories_name = '', categories_heading_title = '', categories_description = '', last_modified = now() where categories_id = '2'

 

[TEP STOP]

 

and this when i put something in the category description

 

1054 - Unknown column 'categories_name' in 'field list'

 

update categories set categories_name = '', categories_heading_title = '', categories_description = '', last_modified = now() where categories_id = '2'

 

[TEP STOP]

 

Hi.

Still struggling with my problem and trying to work out what is causing the problem..... the error shows that osc is looking in the wrong table for the entries concerned so i tried copying those fields into the categories table as well but that did nothing. :)

 

Looking in the database there are no entries for the tests I have made so is the problem that osc is looking in the wrong place or that the info isnt going into the database in the first place ?

 

any ideas what else I can do ?

 

regards

Graham

Link to comment
Share on other sites

any ideas what else I can do ?

 

regards

Graham

 

 

Ok, I have an update, it is looking in the right table..... If I go into my database and edit the heading title and description fields to put the info in there then it shows up on the site ok..... so myproblem would seem to be that the titles and descriptions i am putting in from the admin area are not getting into the database.

 

but why ????? I dont know :)

 

regards

Graham

Link to comment
Share on other sites

Hi.

Still struggling with my problem and trying to work out what is causing the problem..... the error shows that osc is looking in the wrong table for the entries concerned so i tried copying those fields into the categories table as well but that did nothing. :)

 

Looking in the database there are no entries for the tests I have made so is the problem that osc is looking in the wrong place or that the info isnt going into the database in the first place ?

 

any ideas what else I can do ?

 

regards

Graham

 

Graham, check your private mail (on the right corner of the message board) and send me the file, Iwill have a look for you.

Link to comment
Share on other sites

joeri, is there a way i can work this mod to show descriptions for the manufacturers?

 

Sure! Actually the manufacturers procedure is not so much different from the category descriptions one. So, you could basically use the same code, just some adjustments to table names and positions will do. Don't know about your PHP knowledge. But before you start coding, have a look at this contribution: http://www.oscommerce.com/community/contributions,3521. Is looks like this is what you searching for.

Link to comment
Share on other sites

Still having problems with the mod. To me, it looks as if it is double-placing the category items into the body of the page. However, I can't find any similar code.

 

All I can think of, is that you ADDED the given code at step 7.3, instead of REPLACING it. This would indeed result in a double procuct listing. So, please, find the step 7.3 and do as written... and keep your fingers crossed :)

Edited by joeri
Link to comment
Share on other sites

Hi I have header tags controller installed and want to install your mod categories descriptions but i run into a problem with admin/categories.php

 

 

What I have to find

 

$sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id]));

if ($action == 'insert_category') { 

 

 

What is in my file with header tags controller

 

$sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id]),
'categories_htc_title_tag' => (tep_not_null($categories_htc_title_array[$language_id]) ? tep_db_prepare_input($categories_htc_title_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),
'categories_htc_desc_tag' => (tep_not_null($categories_htc_desc_array[$language_id]) ? tep_db_prepare_input($categories_htc_desc_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),
'categories_htc_keywords_tag' => (tep_not_null($categories_htc_keywords_array[$language_id]) ? tep_db_prepare_input($categories_htc_keywords_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),
'categories_htc_description' => tep_db_prepare_input($categories_htc_description_array[$language_id]));
//HTC EOC
if ($action == 'insert_category') {

 

 

What I have to replace that / integrate that with

 

 

$sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id]));
// - START - Category Descriptions
$categories_heading_title_array = $HTTP_POST_VARS['categories_heading_title'];
$categories_description_array = $HTTP_POST_VARS['categories_description'];
$sql_data_array['categories_heading_title'] = tep_db_prepare_input($categories_heading_title_array[$language_id]);
$sql_data_array['categories_description'] = tep_db_prepare_input($categories_description_array[$language_id]);
// --- END - Category Descriptions

if ($action == 'insert_category') { 

 

 

 

Many Thanks

 

Doug

Link to comment
Share on other sites

Replace your code:

 

$sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id]),'categories_htc_title_tag' => (tep_not_null($categories_htc_title_array[$language_id]) ? tep_db_prepare_input($categories_htc_title_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),'categories_htc_desc_tag' => (tep_not_null($categories_htc_desc_array[$language_id]) ? tep_db_prepare_input($categories_htc_desc_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),'categories_htc_keywords_tag' => (tep_not_null($categories_htc_keywords_array[$language_id]) ? tep_db_prepare_input($categories_htc_keywords_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),'categories_htc_description' => tep_db_prepare_input($categories_htc_description_array[$language_id]));
//HTC EOC
if ($action == 'insert_category') {

 

With:

 

$sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id]),'categories_htc_title_tag' => (tep_not_null($categories_htc_title_array[$language_id]) ? tep_db_prepare_input($categories_htc_title_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),'categories_htc_desc_tag' => (tep_not_null($categories_htc_desc_array[$language_id]) ? tep_db_prepare_input($categories_htc_desc_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),'categories_htc_keywords_tag' => (tep_not_null($categories_htc_keywords_array[$language_id]) ? tep_db_prepare_input($categories_htc_keywords_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])),'categories_htc_description' => tep_db_prepare_input($categories_htc_description_array[$language_id]));
//HTC EOC
// - START - Category Descriptions
$categories_heading_title_array = $HTTP_POST_VARS['categories_heading_title'];$categories_description_array = $HTTP_POST_VARS['categories_description'];$sql_data_array['categories_heading_title'] = tep_db_prepare_input($categories_heading_title_array[$language_id]);$sql_data_array['categories_description'] = tep_db_prepare_input($categories_description_array[$language_id]);
// --- END - Category Descriptions
if ($action == 'insert_category') {

Link to comment
Share on other sites

Hey Joeri,

 

Installed your Category Descriptions contribution--works like a champ! Thank you.

 

According to the Header Tag Controller forum, it appears there's a conflict with the two contrib's. Any recommendations on another same function contribution or how you're doing it?

 

Much thanks,

 

pogo

Edited by pogogirl
Link to comment
Share on other sites

I'm working on an osc site for a client who bought a custom theme. I'm trying to add the Category Description contribution, but the problem I'm having is that the index.php has heavy modifications done to it and the lines I need to replaced just aren't there as such.

 

Maybe this is too much to ask, but could anyone help me figure this out what changes to make to this custom index.php page?

 

<?php
/*
 $Id: index.php,v 1.1 2003/06/11 17:37:59 hpdl Exp $

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

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

// the following cPath references come from application_top.php
 $category_depth = 'top';
 if (isset($cPath) && tep_not_null($cPath)) {
$categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
$cateqories_products = tep_db_fetch_array($categories_products_query);
if ($cateqories_products['total'] > 0) {
  $category_depth = 'products'; // display products
} else {
  $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'");
  $category_parent = tep_db_fetch_array($category_parent_query);
  if ($category_parent['total'] > 0) {
	$category_depth = 'nested'; // navigate through the categories
  } else {
	$category_depth = 'products'; // category has no products, but display the 'no products' message
  }
}
 }

 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!--  Start code -->
<tr><td valign="top">
  <table border="0" cellspacing="0" cellpadding="0">
   <tr><td width="215" valign="top"><?php require(DIR_WS_INCLUDES . 'column_left.php'); ?></td>		
	   <td width="551" valign="top">

<?php
 if ($category_depth == 'nested') {
$category_query = tep_db_query("select cd.categories_name, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'");
$category = tep_db_fetch_array($category_query);


?>
			<table border="0" cellspacing="0" cellpadding="0">
		 <tr><td width="551" height="32" class="bg2">	<?=tep_image(DIR_WS_IMAGES.'m21.gif')?>  <span class="tx1">Today's Special Offers</span></td></tr>			
		</table> 


<table border="0" width="100%" cellspacing="0" cellpadding="2" align="center">
		  <tr>

<?php
if (isset($cPath) && strpos('_', $cPath)) {
// check to see if there are deeper categories within the current category
  $category_links = array_reverse($cPath_array);
  for($i=0, $n=sizeof($category_links); $i<$n; $i++) {
	$categories_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "'");
	$categories = tep_db_fetch_array($categories_query);
	if ($categories['total'] < 1) {
	  // do nothing, go through the loop
	} else {
	  $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");
	  break; // we've found the deepest category the customer is in
	}
  }
} else {
  $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$current_category_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");
}

$number_of_categories = tep_db_num_rows($categories_query);

$col=0;
$rows = 0;
while ($categories = tep_db_fetch_array($categories_query)) {
  $rows++;
  $cPath_new = tep_get_path($categories['categories_id']);
  $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
  echo '				<td  height="132" bgcolor="#232323" align="center" class="ml1" width="' . $width . '"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br style="line-height:1px;"><br style="line-height:7px;">' . $categories['categories_name'] . '</a></td>' . "\n";


			  if ($col!=(MAX_DISPLAY_CATEGORIES_PER_ROW-1)){
			  echo '<td width="3">'.tep_draw_separator('spacer.gif', '3', '1').'</td>';
			  }
			 else{				  


  if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) {
	echo '			  </tr><tr><td height="7"></td></tr>' . "\n";
	echo '			  <tr>' . "\n";
  }
}
if ($col==MAX_DISPLAY_CATEGORIES_PER_ROW-1){
$col=0;
}else{
$col++;
}
}	
// needed for the new products module shown below
//	$new_products_category_id = $current_category_id;

?>

</tr>
		</table>


<?php include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?>


<?

 } elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) {
// create column list
$define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,
					 'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,
					 'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,
					 'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,
					 'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,
					 'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,
					 'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE,
					 'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);

asort($define_list);

$column_list = array();
reset($define_list);
while (list($key, $value) = each($define_list)) {
  if ($value > 0) $column_list[] = $key;
}

$select_column_list = '';

for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
  switch ($column_list[$i]) {
	case 'PRODUCT_LIST_MODEL':
	  $select_column_list .= 'p.products_model, ';
	  break;
	case 'PRODUCT_LIST_NAME':
	  $select_column_list .= 'pd.products_name, ';
	  break;
	case 'PRODUCT_LIST_MANUFACTURER':
	  $select_column_list .= 'm.manufacturers_name, ';
	  break;
	case 'PRODUCT_LIST_QUANTITY':
	  $select_column_list .= 'p.products_quantity, ';
	  break;
	case 'PRODUCT_LIST_IMAGE':
	  $select_column_list .= 'p.products_image, ';
	  break;
	case 'PRODUCT_LIST_WEIGHT':
	  $select_column_list .= 'p.products_weight, ';
	  break;
  }
}

// show the products of a specified manufacturer
if (isset($HTTP_GET_VARS['manufacturers_id'])) {
if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {
// We are asked to show only a specific category
$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from (" . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c ) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";
} else {
// We show them all
$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from (" . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";
}
} else {
// show the products in a given categorie
if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {
// We are asked to show only specific catgeory
$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from (" . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
} else {
// We show them all
$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from ((" . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p) left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
}
}


if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) {
  for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
	if ($column_list[$i] == 'PRODUCT_LIST_NAME') {
	  $HTTP_GET_VARS['sort'] = $i+1 . 'a';
	  $listing_sql .= " order by pd.products_name";
	  break;
	}
  }
} else {
  $sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1);
  $sort_order = substr($HTTP_GET_VARS['sort'], 1);
  $listing_sql .= ' order by ';
  switch ($column_list[$sort_col-1]) {
	case 'PRODUCT_LIST_MODEL':
	  $listing_sql .= "p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
	case 'PRODUCT_LIST_NAME':
	  $listing_sql .= "pd.products_name " . ($sort_order == 'd' ? 'desc' : '');
	  break;
	case 'PRODUCT_LIST_MANUFACTURER':
	  $listing_sql .= "m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
	case 'PRODUCT_LIST_QUANTITY':
	  $listing_sql .= "p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
	case 'PRODUCT_LIST_IMAGE':
	  $listing_sql .= "pd.products_name";
	  break;
	case 'PRODUCT_LIST_WEIGHT':
	  $listing_sql .= "p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
	case 'PRODUCT_LIST_PRICE':
	  $listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
  }
}

// optional Product List Filter
$manu1="";
if (PRODUCT_LIST_FILTER > 0) {
  if (isset($HTTP_GET_VARS['manufacturers_id'])) {
	$filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' order by cd.categories_name";
  } else {
	$filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m.manufacturers_name";
  }
  $filterlist_query = tep_db_query($filterlist_sql);
  if (tep_db_num_rows($filterlist_query) > 1) {
	$manu1.= '<table width="100%" bgcolor="#ffffff" style="border-top:1px solid #969696;"><tr>			<td align="center" class="main">' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . TEXT_SHOW . ' ';
	if (isset($HTTP_GET_VARS['manufacturers_id'])) {
	  $manu1.= tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']);
	  $options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES));
	} else {
	  $manu1.= tep_draw_hidden_field('cPath', $cPath);
	  $options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS));
	}
	$manu1.= tep_draw_hidden_field('sort', $HTTP_GET_VARS['sort']);
	while ($filterlist = tep_db_fetch_array($filterlist_query)) {
	  $options[] = array('id' => $filterlist['id'], 'text' => $filterlist['name']);
	}
	$manu1.= tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"');
	$manu1.= '</form></td></tr></table>' . "\n";
  }
}

// Get the right image for the top-right
$image = DIR_WS_IMAGES . 'table_background_list.gif';
if (isset($HTTP_GET_VARS['manufacturers_id'])) {
  $image = tep_db_query("select manufacturers_image from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'");
  $image = tep_db_fetch_array($image);
  $image = $image['manufacturers_image'];
} elseif ($current_category_id) {
  $image = tep_db_query("select categories_image from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
  $image = tep_db_fetch_array($image);
  $image = $image['categories_image'];
}
?>

<?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?>
<?

} else {
?>
<?php include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?>
<?php /*  require(DIR_WS_BOXES . 'panel_bottom.php');  */ ?>
<? } ?>


<!-- End code -->

   </td></tr>
  </table>
</td></tr>

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...