Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Contribution: Category Descriptions


joeri

Recommended Posts

  • Replies 78
  • Created
  • Last Reply

Top Posters In This Topic

Does anyone know how to get this to work with the salemaker mod. I have narrowed it down to this code in /catalog/modules/includes/new_products.php

 

WHAT SALEMAKER WANTS:

 

'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $products_price);

 

 

MOD CALLS FOR THIS:

 

'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $img_new_product . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])));

 

Problem is no matter what I try, I cannot get the new product image to show up on the mainpage in the new products box, any suggestions???

 

((Ps. GREAT contribution :>)

 

Carrie

Edited by carryG
Link to comment
Share on other sites

Hello all,

I am trying to get this mod to work in the header.php file by bringing in only the category description field (not the heading title). I want to leave out all changes listed in the readme.txt pertaining to the index.php file.

 

Can someone assist in creating the query to the category_description field per category ID to be placed anywhere I desire in the header.php file?

 

I have many usese for this as my client wants to add the following in the admin catagory description field which actually calls a specific Flash Movie per specific category:

 

<!-- Begin Flash Movie --><object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="[url="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"]http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0[/url]" border="0" width="552" height="300" align="right" hspace="0">
<param name="movie" value="images/banner-top.swf">
<param name="quality" value="High">
<embed src="images/banner-top.swf" pluginspage="[url="http://www.macromedia.com/go/getflashplayer"]http://www.macromedia.com/go/getflashplayer[/url]" type="application/x-shockwave-flash" name="obj1" width="552" height="300" quality="High"></object><!-- End Flash Movie -->

The above code works great when embedded into the header.php as so:

	</table>
  </td>
  <td valign="top"><a href="<?=tep_href_link('shipping.php')?>"><!-- Begin Flash Movie --><object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="[url="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"]http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0[/url]" border="0" width="552" height="300" align="right" hspace="0">
<param name="movie" value="images/banner-top.swf">
<param name="quality" value="High">
<embed src="images/banner-top.swf" pluginspage="[url="http://www.macromedia.com/go/getflashplayer"]http://www.macromedia.com/go/getflashplayer[/url]" type="application/x-shockwave-flash" name="obj1" width="552" height="300" quality="High"></object><!-- End Flash Movie --></td></tr>
   </table>

What I am wanting to do is insert just the first code into the admin category description field (changing only the name of the specific Flash Movie) and then include the query in the header.php as below so that this mod will bring in the Flash Movie dynamically from the category description:

 

	</table>
  </td>
  <td valign="top"><a href="<?=tep_href_link('shipping.php')?>"><!-- Begin Flash Movie --> code needed to query the database for category_description<!-- End Flash Movie --></td></tr>
   </table>

I am sooo close with this and hoping that maybe one of you can nudge me in the right direction.

So in a nut shell I am trying to do the following in the header.php with this mod:

if we are displaying a category page {
select the category_description from the category table where the category id = the given one.
if the category_description is not empty {
echo out the category_description
} else {
include the default header
}
}

I will keep working on this and if I figure it out I will post it as a contribution for all.

Thanks for any help you can provide,

Edited by bkellum

Bill Kellum

 

Sounds Good Productions

STS Tutorials & more: STSv4.6, STS Add-ons (STS Power Pack), STS V4 Forum STS Forum FREE TEMPLATE

Link to comment
Share on other sites

I got the above to work! Very Cool!

I needed to implement the category description field to be used in the admin as a input for a category Flash file since the final goal was to have a separate Flash Movie in the header.php for each specific category being displayed.

 

Here is what I did:

In step 5 of the instructions - Locate your default language under admin/includes/languages and edit the file

 

'categories.php'. Add two lines after the line that defines

 

TEXT_EDIT_CATEGORIES_IMAGE:

 

define('TEXT_EDIT_CATEGORIES_HEADING_TITLE', 'Category Heading Title:'); I DID NOT NEED THIS SO I LEFT IT OUT.

 

define('TEXT_EDIT_CATEGORIES_DESCRIPTION', 'Category Flash Movie Code:');

 

I followed the installtion of Category Descriptions in admin/actegories.php but left out the modifications in the index.php file (I needed mine to be in the header.php).

 

I added the following in header.php:

<!-- Begin Flash Movie --><?php $cat_description_query = tep_db_query ("select categories_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . $current_category_id . "' and language_id = '" . (int)$languages_id . "'");
$cat_description = tep_db_fetch_array ($cat_description_query);
if ((int)$current_category_id <= 0) {echo' <center><object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="[url="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"]http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0[/url]" border="0" width="552" height="300" align="right" hspace="0">
<param name="movie" value="images/banner-top.swf">
<param name="quality" value="High">
<embed src="images/banner-top.swf" pluginspage="[url="http://www.macromedia.com/go/getflashplayer"]http://www.macromedia.com/go/getflashplayer[/url]" type="application/x-shockwave-flash" name="obj1" width="552" height="300" quality="High"></object></center>';}
else echo '<center><h1>' . $cat_description['categories_description'] . '</h1></center>'; ?><!-- End Flash Movie -->

 

Now in the Categories Flash Movie input field in the admin, the user can enter the following PHP script exchanging the Flash Movie Name for any .swf file he chooses to use for that particulay category:

<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="[url="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"]http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0[/url]" border="0" width="552" height="300" align="right" hspace="0">
<param name="movie" value="images/Flash Movie Name.swf">
<param name="quality" value="High">
<embed src="images/Flash Movie Name.swf" pluginspage="[url="http://www.macromedia.com/go/getflashplayer"]http://www.macromedia.com/go/getflashplayer[/url]" type="application/x-shockwave-flash" name="obj1" width="552" height="300" quality="High"></object>

 

This is very sweet. A special thanks to the original author of Categories Descriptions and making it so very easy to modify to one's specific needs.

Bill Kellum

 

Sounds Good Productions

STS Tutorials & more: STSv4.6, STS Add-ons (STS Power Pack), STS V4 Forum STS Forum FREE TEMPLATE

Link to comment
Share on other sites

  • 2 weeks later...

I have installed this contribution and it works perfectly at the first category level, but on sub categories it is not showing the category description. The website can be found here - www.sadbox.co.uk

 

If you choose "Daylight Lamps" the category description is shown, but all other sub categories and categories without sub categories are not showing their descriptions.

 

In the admin panel everything is working fine and all categories have a description and all information is being held in the database. I have read this entire thread and noticed that some people were having problems with header tag controller but I used joeri's fix and it seems to have worked.

 

I think it has something to do with the last piece of code that needs to be changed in the index.php file, as this is the piece of code that should show the category description in sub categories and categories without any sub categories.

 

<TD COLSPAN="2" CLASS="main">
		<?php echo tep_image(DIR_WS_IMAGES . $image, (!empty($cat_description['categories_heading_title']) ? $cat_description['categories_heading_title'] : HEADING_TITLE), HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT, 'ALIGN=right'); ?>
		<?php echo $cat_description['categories_description']; ?>
		</TD>

 

This piece of code - <?php echo $cat_description['categories_description']; ?> is not retrieving the category description.

 

Anybody else with the same problem?

Link to comment
Share on other sites

I'm getting the same problem, main categories are working fine, but the subcategories are not functioning for instead of category title and description, this is showing up

  	$cat_description_query = tep_db_query ("select categories_heading_title, categories_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . $current_category_id . "' and language_id = '" . (int)$languages_id . "'");
$cat_description = tep_db_fetch_array ($cat_description_query);

any suggestions or help would be greatly appreciated

I have installed this contribution and it works perfectly at the first category level, but on sub categories it is not showing the category description. The website can be found here - www.sadbox.co.uk

 

If you choose "Daylight Lamps" the category description is shown, but all other sub categories and categories without sub categories are not showing their descriptions.

 

In the admin panel everything is working fine and all categories have a description and all information is being held in the database. I have read this entire thread and noticed that some people were having problems with header tag controller but I used joeri's fix and it seems to have worked.

 

I think it has something to do with the last piece of code that needs to be changed in the index.php file, as this is the piece of code that should show the category description in sub categories and categories without any sub categories.

 

<TD COLSPAN="2" CLASS="main">
		<?php echo tep_image(DIR_WS_IMAGES . $image, (!empty($cat_description['categories_heading_title']) ? $cat_description['categories_heading_title'] : HEADING_TITLE), HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT, 'ALIGN=right'); ?>
		<?php echo $cat_description['categories_description']; ?>
		</TD>

 

This piece of code - <?php echo $cat_description['categories_description']; ?> is not retrieving the category description.

 

Anybody else with the same problem?

Link to comment
Share on other sites

  • 2 weeks later...

I inserted this:

<!--  BOF Category Description for a range of products, extension of Category Descriptions -->
<?php
 $category_query = tep_db_query("select cd.categories_name, c.categories_image,cd.categories_description,cd.categories_heading_title 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);
?>
<tr>
<td><?php echo $category['categories_description']; ?></td>
</tr>
<!--  EOF Category Description for a range of products, extension of Category Descriptions -->

 

right before this:

 

<tr>

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

  </tr>

</table></td>

<?php
 } else { // default page

 

I have just tried it and am testing it now, but it seems to be working. This was just my sloppy way of initializing the $category variable, which I think we need for this instead of the $cat_description array. The code is just copied from its earlier occurence in index.php.

 

Joeri, thanks for the great contrib! If this isn't proper, let me know. I am not a php coder yet. Working for me, though.

==========

monkster

Link to comment
Share on other sites

This is a wonderful contribution -- just the quick fix I needed.

 

However . . . (isn't that the way it always goes? ;))

 

I'm getting this error when I go to save the description:

Warning: Cannot modify header information - headers already sent by (output started at /home/queen15/public_html/catalog/admin/includes/languages/english/categories.php:241) in /home/queen15/public_html/catalog/admin/includes/functions/general.php on line 22

 

Now, the information is being saved correctly, but now it's throwing the error.

 

Thanks for any help!

Link to comment
Share on other sites

  • 2 weeks later...

I've added this contribution, but my descriptions do not show up. I am a new osCommerce user, and have not added any other contributions (yet!). I have verified, using PHPmyAdmin, that the new columns have been added and they do contain the descriptions (& titles) that I entered using the admin pages (as modified by this contribution).

 

As mentioned by another user (craigf, on 4/14), the piece of code - <?php echo $cat_description['categories_description']; ?> does not appear to be retrieving the category description (I put in debug echo statements that produced null strings). The same is true of the <?php echo $cat_description['categories_heading_title']; ?> statement. However, it doesn't even work for the main categories for me (I only have 5 categories & no subcategories).

 

Can somebody tell me where this array is supposed to be initialized? (I did a search of the catalog folder & all subfolders and could not find it (searching for string: "cat_description").

Link to comment
Share on other sites

  • 3 weeks later...

Is there any way to use this in order to add different images to the categories? I am using a mod to make the categories display as images vs. text in the categories box. However, it uses the images of the category. I want to be able to have two fields in the admin section. One for category image (the one that is displayed in the content area) and one for the menu image (in the categories box). I've searched all around and I attempted to modify the contribution myself to no avail.

 

If anyone can help me out, that'd be great.

 

I assumed you just install the admin part of the category and then just enter a URL into the descriptions field in the admin section and then modify the category image box contribution to call that table instead of the image table.

Link to comment
Share on other sites

  • 2 weeks later...

I have same problem, someone have a optimal fix to this one. ???

 

I have installed this contribution and it works perfectly at the first category level, but on sub categories it is not showing the category description. The website can be found here - www.sadbox.co.uk

 

If you choose "Daylight Lamps" the category description is shown, but all other sub categories and categories without sub categories are not showing their descriptions.

 

In the admin panel everything is working fine and all categories have a description and all information is being held in the database. I have read this entire thread and noticed that some people were having problems with header tag controller but I used joeri's fix and it seems to have worked.

 

I think it has something to do with the last piece of code that needs to be changed in the index.php file, as this is the piece of code that should show the category description in sub categories and categories without any sub categories.

 

<TD COLSPAN="2" CLASS="main">
		<?php echo tep_image(DIR_WS_IMAGES . $image, (!empty($cat_description['categories_heading_title']) ? $cat_description['categories_heading_title'] : HEADING_TITLE), HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT, 'ALIGN=right'); ?>
		<?php echo $cat_description['categories_description']; ?>
		</TD>

 

This piece of code - <?php echo $cat_description['categories_description']; ?> is not retrieving the category description.

 

Anybody else with the same problem?

Edited by TheExterminator
Link to comment
Share on other sites

  • 4 weeks later...
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.

 

I recently installed this contribution on a version of osCommerce running as a Joomla component. Everything works great, except I cannot edit or update the categories_heading_title or categories_description from the osCommerce admin tool (Catalog > Categories, categories.php).

 

When I add content to the category heading title and category description fields directly into the database (via MySQL command line), the content displays in my web site, no problem. The content is also available when I edit the category in the osCommerce admin area, categories.php. However, when I save the category, the content in the database fields are deleted. Similarly, if I type in content in the admin tool and save, nothing is saved to the database except an empty string. (???)

 

I've ruled out any database permissions problems and have narrowed the problem down to some incompatibility in the categories.php file.

 

Any suggestion at all would be appreciated.

 

Thanks in advance.

Link to comment
Share on other sites

I recently installed this contribution on a version of osCommerce running as a Joomla component. Everything works great, except I cannot edit or update the categories_heading_title or categories_description from the osCommerce admin tool (Catalog > Categories, categories.php).

 

When I add content to the category heading title and category description fields directly into the database (via MySQL command line), the content displays in my web site, no problem. The content is also available when I edit the category in the osCommerce admin area, categories.php. However, when I save the category, the content in the database fields are deleted. Similarly, if I type in content in the admin tool and save, nothing is saved to the database except an empty string. (???)

 

I've ruled out any database permissions problems and have narrowed the problem down to some incompatibility in the categories.php file.

 

Any suggestion at all would be appreciated.

 

Thanks in advance.

 

Ok, it's fixed. Just for the record and for general interest, the issue seems to have been with $HTTP_POST_VARS vs. $_POST.

 

CONTRIBUTION CODE (caused problem on my configuration of osC):

$categories_heading_title_array = $HTTP_POST_VARS['categories_heading_title'];

$categories_description_array = $HTTP_POST_VARS['categories_description'];

 

MY FIX:

$categories_heading_title_array = $_POST['categories_heading_title'];

$categories_description_array = $_POST['categories_description'];

 

Lesson learned!

Link to comment
Share on other sites

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

 

 

Hi Joeri,

 

Do you have a solution for this ? I'm having the same problem.

 

I hop you can help out. thx

Link to comment
Share on other sites

  • 2 weeks later...

this is a PERFECT mod .... one final problem and I will be there....

 

the final category level is not showing description ...

 

example if I have 3 nested cats .... on the 3rd the description doesnt show .....

 

any ideas?

Link to comment
Share on other sites

well I actually solved this problem and wow does it work GREAT!

 

in catalog/index.php

		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;
  }
}
?>
<!-- add this for the final level of the categorie page -->
<?php
$category_query = tep_db_query("select cd.categories_name, c.categories_image,cd.categories_description,cd.categories_heading_title 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);
$cat_description_query = tep_db_query ("select categories_heading_title, categories_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . $current_category_id . "' and language_id = '" . (int)$languages_id . "'");
$cat_description = tep_db_fetch_array ($cat_description_query);
?>

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
	<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
	  <tr>
		<td class="pageHeading"><?php echo (!empty($cat_description['categories_heading_title']) ? $cat_description['categories_heading_title'] : HEADING_TITLE); ?></td>
	  </tr>
			  <tr>
		<TD COLSPAN="2" CLASS="main">
		<?php echo tep_image(DIR_WS_IMAGES . $category['categories_image'], $category['categories_name'], HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT, 'ALIGN=right'); ?>
		<?php echo $category['categories_description']; ?>
					</TD>
			  </tr>
	</table></td>
  </tr>


<!--
  this mod is for the final level of the categorie page

 <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
	<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
	  <tr>
		<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
-->

 

and one more small mod down on the bottom ...

 

	  $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'];
}
?>
	  </tr>


<!--
		   this is removed to fix the final level of the categorie page


			  <tr><TD> </TD></TR>
			  <tr>
		<TD COLSPAN="2" CLASS="main">
		<?php echo tep_image(DIR_WS_IMAGES . $image, (!empty($cat_description['categories_heading_title']) ? $cat_description['categories_heading_title'] : HEADING_TITLE), HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT, 'ALIGN=right'); ?>
		<?php echo $cat_description['categories_description']; ?>
					</TD>
			  </tr>
	</table></td>
  </tr> -->
  <tr>
	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
  <tr>
	<td><?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?></td>
  </tr>
</table></td>

 

I added a little code before so you could locate where I made the mods.....

 

maybe this will help some of you guys..... :)

Link to comment
Share on other sites

Just installed this contribution, fantastic, truely appreciate joeri :thumbsup:

 

However I do have a question...

 

How can you format the text?

I tried HTML code when inserting into the input text area, but that didn't seem to work. :huh:

- :: Jim :: -

- My Toolbox ~ Adobe Web Bundle, XAMPP & WinMerge | Install ~ osC v2.3.3.4 -

Link to comment
Share on other sites

Just installed this contribution, fantastic, truely appreciate joeri :thumbsup:

 

However I do have a question...

 

How can you format the text?

I tried HTML code when inserting into the input text area, but that didn't seem to work. :huh:

 

 

:blush:

 

My bad... !

Shoot me now please. (w00t)

It's been too long of a week already.

HTML code works just fine. The guy pounding the keys don't! :wacko:

I used [ b ] [ /b ] instead of < b > < /b >

:-"

- :: Jim :: -

- My Toolbox ~ Adobe Web Bundle, XAMPP & WinMerge | Install ~ osC v2.3.3.4 -

Link to comment
Share on other sites

I have a slight problem... and I double checked my installation per directions and still can figure out where I went wrong. :blush:

 

First the catergory image moved to the center of the page, I fixed that and it's back to the right.

As seen here - http://handeshobbies.com/catalog/index.php?cPath=22_27_41

 

But I can't seem to get the "Show: Manufacturers" pull-down list box back to center.

It's off to the right a little as seen here - http://handeshobbies.com/catalog/index.php?cPath=1_31

 

Any ideas?

- :: Jim :: -

- My Toolbox ~ Adobe Web Bundle, XAMPP & WinMerge | Install ~ osC v2.3.3.4 -

Link to comment
Share on other sites

  • 2 weeks later...
But I can't seem to get the "Show: Manufacturers" pull-down list box back to center.

 

I played around with the coding in catalog/index.php and got it fixed.

There was a few extra < TD >'s and < TR >'s that needed to be removed.

 

<_<

- :: Jim :: -

- My Toolbox ~ Adobe Web Bundle, XAMPP & WinMerge | Install ~ osC v2.3.3.4 -

Link to comment
Share on other sites

  • 1 month later...

My index.php is totally modified. I can not get the last two steps of code to work. It shows up on the main category page but the subcategory description does not work. Any help is appreciated. Thanks Kathy

 

<?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 © 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 //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<!-- body_text //-->

<?php

if ($category_depth == 'nested') {

$category_query = tep_db_query("select cd.categories_name, c.categories_image,cd.categories_description,cd.categories_heading_title 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);

?>

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading" valign="top"><?php echo (!empty($category['categories_heading_title']) ? $category['categories_heading_title'] : HEADING_TITLE); ?></td>

</tr>

<tr>

<TD COLSPAN="2" CLASS="main">

<?php echo tep_image(DIR_WS_IMAGES . $category['categories_image'], $category['categories_name'], HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT, 'ALIGN=right'); ?>

<?php echo $category['categories_description']; ?>

</TD>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<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);

 

$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 align="center" class="smallText" width="' . $width . '" valign="top"><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>' . $categories['categories_name'] . '</a></td>' . "\n";

if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) {

echo ' </tr>' . "\n";

echo ' <tr>' . "\n";

}

}

 

// needed for the new products module shown below

$new_products_category_id = $current_category_id;

?>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

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

</tr>

</table></td>

</tr>

</table></td>

<?php

} 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;

}

}

 

?>

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

 

 

<!--

 

 

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<?php

// optional Product List Filter

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) {

echo ' <td align="center" class="main">' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . TEXT_SHOW . ' ';

if (isset($HTTP_GET_VARS['manufacturers_id'])) {

echo tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']);

$options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES));

} else {

echo tep_draw_hidden_field('cPath', $cPath);

$options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS));

}

echo 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']);

}

echo tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"');

echo '</form></td>' . "\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'];

}

?>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

 

 

-->

 

<tr>

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

</tr>

</table></td>

<?php

} else { // default page

?>

 

 

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td>

 

<table cellspacing=0 cellpadding=0 width=488 valign=top>

<tr><td background=images/m32.gif width=488 height=10></td></tr>

<tr><td background=images/m34.gif style="padding-left: 23px"><span class=ch2>Welcome to </span></td></tr>

<tr><td background=images/m33.gif width=488 height=8></td></tr>

<tr><td width=1></td></tr>

<tr><td width=488 valign=top>

 

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

<div>

<p><font size="2" face="Arial" color="#FFFFFF"><b>Hello and welcome to

<br><br></font></p></b></div>

 

<table align="center" width="426" border="0">

<tr>

<td><img src="http://www."></td>

<td><img src="http://www."></td>

</tr>

<tr>

<td>Fiber</td>

<td>Patterns</td>

</tr>

<tr>

<td><img src="http://www."></td>

<td><img src="http://www."></td>

</tr>

<tr>

<td>Spinning Wheels</td>

<td>Yarn</td>

</tr>

</table>

 

 

</td></tr>

</table>

 

<table cellspacing=0 cellpadding=0 width=488>

 

<?php

include(DIR_WS_MODULES . FILENAME_UPCOMING_PRODUCTS); ?>

 

</table>

 

 

 

 

 

</td>

</tr>

</table>

</td>

 

<?php

}

?>

<!-- body_text_eof //-->

</tr>

</table>

<!-- body_eof //-->

 

<!-- 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

  • 2 weeks later...

I have the same problem as everyone else.

 

Top categories work fine - sub-cats don't.

 

Data enters my database and then isn't pulled out by index.php

 

I've tried MPMD's fix and that didn't seem to work (although I'm not sure I understood the fix exactly).

 

Anyone got any ideas on this one?

 

Cheers

Edited by pauladkins
Link to comment
Share on other sites

I have the same problem as everyone else.

 

Top categories work fine - sub-cats don't.

 

Data enters my database and then isn't pulled out by index.php

 

I've tried MPMD's fix and that didn't seem to work (although I'm not sure I understood the fix exactly).

 

Anyone got any ideas on this one?

 

Cheers

 

Take a look at my post (#32):

 

http://www.oscommerce.com/forums/index.php?s=&...t&p=1067121

 

This allows you to have a category description for a subcategory. I haven't tried having a sub-subcategory; however this works for my purposes, hopefully for yours, too. You may want to style the description so it looks prettier, however.

 

-monkster

==========

monkster

Link to comment
Share on other sites

I have the same problem as everyone else.

 

Top categories work fine - sub-cats don't.

 

Data enters my database and then isn't pulled out by index.php

 

I've tried MPMD's fix and that didn't seem to work (although I'm not sure I understood the fix exactly).

 

Anyone got any ideas on this one?

 

Cheers

 

Take a look at my post (#32):

 

http://www.oscommerce.com/forums/index.php?s=&...t&p=1067121

 

This allows you to have a category description for a subcategory. I haven't tried having a sub-subcategory; however this works for my purposes, hopefully for yours, too. You may want to style the description so it looks prettier, however.

 

-monkster

==========

monkster

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...