I see what your saying, however I need an ABC system in each category.
So
Perennials > ABCDEFGHIJKLMNOPQRSTUVWXYZ
Shrubs > ABCDEFGHIJKLMNOPQRSTUVWXYZ
Vegetable Plants > ABCDEFGHIJKLMNOPQRSTUVWXYZ
Fruit Trees > ABCDEFGHIJKLMNOPQRSTUVWXYZ
Trees > ABCDEFGHIJKLMNOPQRSTUVWXYZ
They have to be sub categories of each product due to the way they're being entered.
I've resorted to editing the code in category_row.php as this places the categories on each page and the ABC categories don't need an image.
This is where I'm at with the code -
<?php
/**
* index category_row.php
*
* Prepares the content for displaying a category's sub-category listing in grid format.
* Once the data is prepared, it calls the standard tpl_list_box_content template for display.
*
* @package page
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license <http://www.zen-cart.com/license/2_0.txt> GNU Public License V2.0
* @version $Id: category_row.php 4084 2006-08-06 23:59:36Z drbyte $
*/
if (!defined('IS_ADMIN_FLAG')) {
die('Illegal Access');
}
$title = '';
$num_categories = $categories->RecordCount();
$row = 0;
$col = 0;
$list_box_contents = '';
if ($num_categories > 0) {
if ($num_categories < MAX_DISPLAY_CATEGORIES_PER_ROW || MAX_DISPLAY_CATEGORIES_PER_ROW == 0) {
$col_width = floor(100/$num_categories);
} else {
$col_width = floor(100/MAX_DISPLAY_CATEGORIES_PER_ROW);
}
while (!$categories->EOF) {
if (!$categories->fields['categories_image']) !$categories->fields['categories_image'] = 'pixel_trans.gif';
$cPath_new = zen_get_path($categories->fields['categories_id']);
// strip out 0_ from top level cats
$cPath_new = str_replace('=0_', '=', $cPath_new);
// $categories->fields['products_name'] = zen_get_products_name($categories->fields['products_id']);
$list_box_contents[$row][$col] = array('params' => '',
'text' => '<li>' . '<a href="' . zen_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . zen_image(DIR_WS_IMAGES . $categories->fields['categories_image'], $categories->fields['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '' . $categories->fields['categories_name'] . '</a>' . '</li>');
$col ++;
if ($col > (MAX_DISPLAY_CATEGORIES_PER_ROW -1)) {
$col = 0;
$row ++;
}
$categories->MoveNext();
}
}
?>
My plan is to use CSS to force the <li> tags I've added to display inline. However, there is a problem I'm struggling to work around and thats the fact that there's a <br class="clearBoth" /> in the code. I think this is coming from tpl_columnar_display.php but I can't edit this as this will affect other files associated with it.
So my thoughts are to put a CSS around the code OR a table with CSS in it to eliminate the <br class="clearBoth" /> tag and force the <li> tags to display inline.
What do you think?