Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Recommended Posts

Posted

hi all :), i've been searchin' the forum for a hack or contrib on using images instead of txt in categories box, can't find it :(

does anyone knows about one ?

Posted

this will put images in your categories box

 

<?php 

function tep_show_category($counter) { 

   global $foo, $categories_string, $id; 



   for ($a=0; $a<$foo[$counter]['level']; $a++) { 

     $categories_string .= "  "; 

   } 



   $categories_string .= '<a href="'; 



   if ($foo[$counter]['parent'] == 0) { 

     $cPath_new = 'cPath=' . $counter; 

   } else { 

     $cPath_new = 'cPath=' . $foo[$counter]['path']; 

   } 



   $categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new); 

   $categories_string .= '">'; 



   if ( ($id) && (in_array($counter, $id)) ) { 

     $categories_string .= '<b>'; 

   } 



// display category name 

   $categories_string .= tep_image(DIR_WS_IMAGES . $foo[$counter]['image'], $foo[$counter]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT); 



   if ( ($id) && (in_array($counter, $id)) ) { 

     $categories_string .= '</b>'; 

   } 



   if (tep_has_category_subcategories($counter)) { 

     $categories_string .= '->'; 

   } 



   $categories_string .= '</a>'; 



   $categories_string .= '<br>'; 



   if ($foo[$counter]['next_id']) { 

     tep_show_category($foo[$counter]['next_id']); 

   } 

 }





$categories_string = ''; 



 $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='" . $languages_id ."' order by sort_order, cd.categories_name"); 

 while ($categories = tep_db_fetch_array($categories_query))  { 

   $foo[$categories['categories_id']] = array( 

                                       'name' => $categories['categories_name'], 

                             'image' => $categories['categories_image'], 

                                       'parent' => $categories['parent_id'], 

                                       'level' => 0, 

                                       'path' => $categories['categories_id'], 

                                       'next_id' => false 

                                      ); 



   if (isset($prev_id)) { 

     $foo[$prev_id]['next_id'] = $categories['categories_id']; 

   } 



   $prev_id = $categories['categories_id']; 



   if (!isset($first_element)) { 

     $first_element = $categories['categories_id']; 

   } 

 } 



 //------------------------ 

 if ($cPath) { 

   $new_path = ''; 

   $id = split('_', $cPath); 

   reset($id); 

   while (list($key, $value) = each($id)) { 

     unset($prev_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 = '" . $value . "' and c.categories_id = cd.categories_id and cd.language_id='" . $languages_id ."' order by sort_order, cd.categories_name"); 

     $category_check = tep_db_num_rows($categories_query); 

     if ($category_check > 0) { 

       $new_path .= $value; 

       while ($row = tep_db_fetch_array($categories_query)) { 

         $foo[$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($prev_id)) { 

           $foo[$prev_id]['next_id'] = $row['categories_id']; 

         } 



         $prev_id = $row['categories_id']; 



         if (!isset($first_id)) { 

           $first_id = $row['categories_id']; 

         } 



         $last_id = $row['categories_id']; 

       } 

       $foo[$last_id]['next_id'] = $foo[$value]['next_id']; 

       $foo[$value]['next_id'] = $first_id; 

       $new_path .= '_'; 

     } else { 

       break; 

     } 

   } 

 } 

 tep_show_category($first_element); 



 /*$info_box_contents = array(); 

 $info_box_contents[] = array('align' => 'left', 

                              'text'  => $categories_string 

                             ); 

 new infoBox($info_box_contents);*/ 

 echo $categories_string; 

?>

Posted

Thanks meltus :D , i presume this goes under include/cotegories.php ?

can i use my own pics with this hack ? (i would like to create custom menu pics ) , thanks for answering si fast , i havn't even finish my beer !!

Posted

its just a straight replacement for boxes/categories.php

 

you might want to do a diff on it - its not changed very much from the original. Currently it picks up the category image that is supplied in admin. You can change these to whatever you want.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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