joeri Posted February 17, 2007 Share Posted February 17, 2007 (edited) 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 February 17, 2007 by joeri Quote Link to comment Share on other sites More sharing options...
itsgraham Posted February 19, 2007 Share Posted February 19, 2007 (edited) 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 February 19, 2007 by itsgraham Quote Link to comment Share on other sites More sharing options...
joeri Posted February 19, 2007 Author Share Posted February 19, 2007 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! Quote Link to comment Share on other sites More sharing options...
itsgraham Posted February 20, 2007 Share Posted February 20, 2007 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 Quote Link to comment Share on other sites More sharing options...
joeri Posted February 20, 2007 Author Share Posted February 20, 2007 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'); Quote Link to comment Share on other sites More sharing options...
itsgraham Posted February 20, 2007 Share Posted February 20, 2007 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'); Quote Link to comment Share on other sites More sharing options...
tammyblalock Posted February 21, 2007 Share Posted February 21, 2007 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? Quote Link to comment Share on other sites More sharing options...
joeri Posted February 21, 2007 Author Share Posted February 21, 2007 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? Quote Link to comment Share on other sites More sharing options...
h2woo Posted February 22, 2007 Share Posted February 22, 2007 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 Quote Link to comment Share on other sites More sharing options...
joeri Posted February 23, 2007 Author Share Posted February 23, 2007 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! :) Quote Link to comment Share on other sites More sharing options...
tammyblalock Posted February 23, 2007 Share Posted February 23, 2007 No idea. Are you using the latest version of OSC? No idea. I'll find out. I do know the cart has had many mods installed. I do not know exactly how many or which ones. Quote Link to comment Share on other sites More sharing options...
tammyblalock Posted February 23, 2007 Share Posted February 23, 2007 No idea. I'll find out. I do know the cart has had many mods installed. I do not know exactly how many or which ones. should be 2.2-MS2 Quote Link to comment Share on other sites More sharing options...
itsgraham Posted February 23, 2007 Share Posted February 23, 2007 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 Quote Link to comment Share on other sites More sharing options...
itsgraham Posted February 23, 2007 Share Posted February 23, 2007 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 Quote Link to comment Share on other sites More sharing options...
joeri Posted February 23, 2007 Author Share Posted February 23, 2007 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. Quote Link to comment Share on other sites More sharing options...
h2woo Posted February 24, 2007 Share Posted February 24, 2007 joeri, is there a way i can work this mod to show descriptions for the manufacturers? Quote Link to comment Share on other sites More sharing options...
joeri Posted February 24, 2007 Author Share Posted February 24, 2007 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. Quote Link to comment Share on other sites More sharing options...
joeri Posted February 24, 2007 Author Share Posted February 24, 2007 (edited) Double Post.. Again :s Edited February 24, 2007 by joeri Quote Link to comment Share on other sites More sharing options...
tammyblalock Posted February 26, 2007 Share Posted February 26, 2007 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. Can someone please take a look? www.papajimsbotanica.com/catalog Quote Link to comment Share on other sites More sharing options...
joeri Posted February 26, 2007 Author Share Posted February 26, 2007 (edited) 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 February 26, 2007 by joeri Quote Link to comment Share on other sites More sharing options...
tammyblalock Posted February 26, 2007 Share Posted February 26, 2007 figured it out. Quote Link to comment Share on other sites More sharing options...
Helper Posted March 3, 2007 Share Posted March 3, 2007 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 Quote Link to comment Share on other sites More sharing options...
joeri Posted March 3, 2007 Author Share Posted March 3, 2007 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') { Quote Link to comment Share on other sites More sharing options...
pogogirl Posted March 7, 2007 Share Posted March 7, 2007 (edited) 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 March 7, 2007 by pogogirl Quote Link to comment Share on other sites More sharing options...
webwzrd Posted March 9, 2007 Share Posted March 9, 2007 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'); ?> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.