scole Posted December 8, 2003 Share Posted December 8, 2003 Is it possible to add the category image to the categories box for only the "root" categories? For example, I have two main categories, which show up in the categories box on the left. Under those categories there are many subcategories. Only the main categories have images linked to them. I would like the categories box to display the category image with the category name under. When clicked, all subcategories would appear as usual. Is this possible? Thanks, S. Cole Link to comment Share on other sites More sharing options...
scole Posted December 16, 2003 Author Share Posted December 16, 2003 Anyone? Link to comment Share on other sites More sharing options...
scole Posted December 29, 2003 Author Share Posted December 29, 2003 Does anyone know where I should look to find this information? Thanks, S. Cole Link to comment Share on other sites More sharing options...
Guest Posted December 30, 2003 Share Posted December 30, 2003 After if (tep_has_category_subcategories($counter)) { $categories_string .= '->'; } around lines 41-3 of includes/boxes/categories.php, add if ($tree[$counter]['level'] == 0) { $categories_string .= tep_image(DIR_WS_IMAGES . $tree[$counter]['categories_image'], $tree[$counter]['name'], BOX_CATEGORY_IMAGE_WIDTH, BOX_CATEGORY_IMAGE_HEIGHT); } Around line 84, change $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name"); to $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name"); Around lines 81-2, change 'level' => 0, 'path' => $categories['categories_id'], to 'level' => 0, 'image' => $categories['categories_image'], 'path' => $categories['categories_id'], And run the following SQL: INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Category Box Image Width', 'BOX_CATEGORY_IMAGE_WIDTH', '20', 'The pixel width of category box images', '4', '-1', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Category Box Image Height', 'BOX_CATEGORY_IMAGE_HEIGHT', '12', 'The pixel height of category box images', '4', '0', now()); You may need to adjust image sizes under admin > Configuration > Images. You may also want to move around the code I put after lines 41-3 depending on where in the row you want it. Between lines 28 and 30 would also be a reasonable place to put it. Hth, Matt Link to comment Share on other sites More sharing options...
scole Posted March 9, 2004 Author Share Posted March 9, 2004 Thank you for the reply... I made the modifications that you suggested and everything appears fine, however it is still not working. I don't get an error or anything. Just no image. Any ideas? S. Cole Categories Box: function tep_show_category($counter) { global $tree, $categories_string, $cPath_array; for ($i=0; $i<$tree[$counter]['level']; $i++) { $categories_string .= " "; } // By S. Cole 01/08/04 // for category_bullet_for_V2.2_MS2 if (tep_has_category_subcategories($counter)) { if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= '<img src="images/cat_arrow_down.gif" align="absmiddle"> '; } else { $categories_string .= '<img src="images/cat_arrow_right.gif" align="absmiddle"> '; } } else { $categories_string .= '<img src="images/cat_arrow_other.gif" align="absmiddle"> '; } // eof $categories_string .= '<a href="'; if ($tree[$counter]['parent'] == 0) { $cPath_new = 'cPath=' . $counter; } else { $cPath_new = 'cPath=' . $tree[$counter]['path']; } $categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">'; if (isset($cPath_array) && in_array($counter, $cPath_array)) { $categories_string .= '<b>'; } // display category name $categories_string .= $tree[$counter]['name']; if (isset($cPath_array) && in_array($counter, $cPath_array)) { $categories_string .= '</b>'; } if (tep_has_category_subcategories($counter)) { $categories_string .= '->'; } if ($tree[$counter]['level'] == 0) { $categories_string .= tep_image(DIR_WS_IMAGES . $tree[$counter]['categories_image'], $tree[$counter]['name'], BOX_CATEGORY_IMAGE_WIDTH, BOX_CATEGORY_IMAGE_HEIGHT); } $categories_string .= '</a>'; if (SHOW_COUNTS == 'true') { $products_in_category = tep_count_products_in_category($counter); if ($products_in_category > 0) { $categories_string .= ' (' . $products_in_category . ')'; } } $categories_string .= '<br>'; if ($tree[$counter]['next_id'] != false) { tep_show_category($tree[$counter]['next_id']); } } ?> <!-- categories //--> <tr> <td> <?php $info_box_contents = array(); $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES); new infoBoxHeading($info_box_contents, true, false); $categories_string = ''; $tree = array(); $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name"); while ($categories = tep_db_fetch_array($categories_query)) { $tree[$categories['categories_id']] = array('name' => $categories['categories_name'], 'parent' => $categories['parent_id'], 'level' => 0, 'image' => $categories['categories_image'], 'path' => $categories['categories_id'], 'next_id' => false); if (isset($parent_id)) { $tree[$parent_id]['next_id'] = $categories['categories_id']; } $parent_id = $categories['categories_id']; if (!isset($first_element)) { $first_element = $categories['categories_id']; } } //------------------------ if (tep_not_null($cPath)) { $new_path = ''; reset($cPath_array); while (list($key, $value) = each($cPath_array)) { unset($parent_id); unset($first_id); $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$value . "' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name"); if (tep_db_num_rows($categories_query)) { $new_path .= $value; while ($row = tep_db_fetch_array($categories_query)) { $tree[$row['categories_id']] = array('name' => $row['categories_name'], 'parent' => $row['parent_id'], 'level' => $key+1, 'path' => $new_path . '_' . $row['categories_id'], 'next_id' => false); if (isset($parent_id)) { $tree[$parent_id]['next_id'] = $row['categories_id']; } $parent_id = $row['categories_id']; if (!isset($first_id)) { $first_id = $row['categories_id']; } $last_id = $row['categories_id']; } $tree[$last_id]['next_id'] = $tree[$value]['next_id']; $tree[$value]['next_id'] = $first_id; $new_path .= '_'; } else { break; } } } tep_show_category($first_element); $info_box_contents = array(); $info_box_contents[] = array('text' => $categories_string); new infoBox($info_box_contents); ?> </td> </tr> <!-- categories_eof //--> Link to comment Share on other sites More sharing options...
scole Posted March 14, 2004 Author Share Posted March 14, 2004 I discovered the problem... The error was within the following code: if ($tree[$counter]['level'] == 0) { $categories_string .= tep_image(DIR_WS_IMAGES . $tree[$counter]['categories_image'], $tree[$counter]['name'], BOX_CATEGORY_IMAGE_WIDTH, BOX_CATEGORY_IMAGE_HEIGHT); } The tep_image(DIR_WS_IMAGES . $tree[$counter]['categories_image'] should have been tep_image(DIR_WS_IMAGES . $tree[$counter]['image'] because 'image' was the name given in the array. categories_image was the name in the db. Thanks for the help, S. Cole Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.