Post by sashun » Sat Nov 19, 2011 6:39 pm

hi, romeo2k


how did you made it

maincat
- subcat1
- - subsubcat1
- - - subsubsubcat1

plz. help me!!!!

Newbie

Posts

Joined
Tue Nov 08, 2011 12:48 am

Post by romeo2k » Sat Nov 19, 2011 6:48 pm

i find one menu on forums, and it is great :)

http://forum.opencart.com/viewtopic.php ... u&start=20

just modifying colors now, its easy :D

regards

Newbie

Posts

Joined
Wed Nov 16, 2011 8:57 pm

Post by sashun » Tue Nov 22, 2011 6:22 pm

hello everybody

I have a problem. I need your help. Can you help me.

i need to add one more level.

I need to add one more level (4th level) sub-category.
Category
-child
--sister
----brother

PLZ help me!

Newbie

Posts

Joined
Tue Nov 08, 2011 12:48 am

Post by fred123 » Tue Nov 22, 2011 8:17 pm

Hi I am using version 1.5.1.3 and want to add a sister level, will the above work? I kind of need it in simple terms !

Active Member

Posts

Joined
Fri Aug 26, 2011 3:13 pm

Post by Xciso » Sat Nov 26, 2011 4:14 am

Use the guide in the link above.
Works like a dream with 1.5.1.3 :D

Active Member

Posts

Joined
Fri Jul 15, 2011 5:20 am

Post by fred123 » Tue Nov 29, 2011 3:53 am

I would if I could read it!

Active Member

Posts

Joined
Fri Aug 26, 2011 3:13 pm

Post by fred123 » Tue Nov 29, 2011 4:13 am

I am sooo confused!

I have changed the files as per instructions and now have an error..

Parse error: syntax error, unexpected $end in /var/www/vhosts/xxxxxx.co.uk/httpdocs/catalog/controller/module/category.php on line 109

can someone please put all this into a simple instruction guide for an old dummie like me please.

Many thanks.
chokoret wrote:FIGURED OUT!!!!!! LET ME CLEAN THIS UP FOR THOSE WHO NEED THIS!! :^D
THANKX A MILLION ROGER!!

1. Open catalog/controller/module/category.php to edit , and find this part

Code: Select all

 if (isset($parts[1])) {
$this->data['child_id'] = $parts[1];
} else {
$this->data['child_id'] = 0;
}
2. and after , ADD this

Code: Select all

if (isset($parts[2])) {
$this->data['sisters_id'] = $parts[2];
} else {
$this->data['sisters_id'] = 0;
}



3. Find this part

Code: Select all

foreach ($categories as $category) {
$children_data = array();

$children = $this->model_catalog_category->getCategories($category['category_id']);

foreach ($children as $child) {
$data = array(
'filter_category_id' => $child['category_id'],
'filter_sub_category' => true
); 

$product_total = $this->model_catalog_product->getTotalProducts($data);

$children_data[] = array(
'category_id' => $child['category_id'],
'name' => $child['name'] . ' (' . $product_total . ')',
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) 
); 
}

$data = array(
'filter_category_id' => $category['category_id'],
'filter_sub_category' => true 
); 

$product_total = $this->model_catalog_product->getTotalProducts($data);

$this->data['categories'][] = array(
'category_id' => $category['category_id'],
'name' => $category['name'] . ' (' . $product_total . ')',
'children' => $children_data,
'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
);
}
(this is below $categories = $this->model_catalog_category->getCategories(0);
and above if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) { )

4. and REPLACE that with this ::

Code: Select all

foreach ($categories as $category) {

$children_data = array();

$children = $this->model_catalog_category->getCategories($category['category_id']);

foreach ($children as $child) { 
$sister_data = array();
$sisters = $this->model_catalog_category->getCategories($child['category_id']);
if(count($sisters) > 1) {
foreach ($sisters as $sisterMember) {
$sister_data[] = array(
'category_id' =>$sisterMember['category_id'],
'name' => $sisterMember['name'],
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']. '_' . $sisterMember['category_id']) 
); 

}
$children_data[] = array(
'category_id' => $child['category_id'],
'sister_id' => $sister_data,
'name' => $child['name'],
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) 
); 
}else{ 
$children_data[] = array(
'category_id' => $child['category_id'],
'sister_id' =>'',
'name' => $child['name'],
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) 
); 
}
} 
$data = array(
'filter_category_id' => $category['category_id'],
'filter_sub_category' => true 
); 

$product_total = $this->model_catalog_product->getTotalProducts($data);

$this->data['categories'][] = array(
'category_id' => $category['category_id'],
'name' => $category['name'],
'children' => $children_data,
'sister' => $sister_data,
'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
);
}

5. Now save. and open cataloge/view/theme/*yourtheme*/template/module/category.tpl , FIND

Code: Select all

 <?php foreach ($category['children'] as $child) { ?>
<li>
<?php if ($child['category_id'] == $child_id) { ?>
<a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></a>
<?php } ?>
6. and under that, ADD

Code: Select all

<?php if($child['sister_id']){ ?>
<ul>
<?php foreach($child['sister_id'] as $sisters) { ?>

<li>
<?php if ($sisters['category_id'] == $sisters_id) { ?> 
<a href="<?php echo $sisters['href']; ?>" class="active"> - <?php echo $sisters['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $sisters['href']; ?>"> - <?php echo $sisters['name']; ?></a>
<?php } ?>
</li>
<?php } ?>
</ul>
<?php } ?>

7. Now save, and go open catalog/view/theme/*yourtheme/stylesheet/stylesheet.css
FIND

Code: Select all

.box-category > ul > li ul > li > a.active + ul {
display: block;
}
8. and under that, ADD

Code: Select all

.box-category > ul > li ul > li ul > li a.active {
font-weight: bold;
color: #06bcc3;
}
.box-category > ul > li ul > li ul > li a.active + ul {
display: block;
}
( #06bcc3 is color code, you might want to change it to the color you want)

8. Now Save, and test the view! :^D !!

Active Member

Posts

Joined
Fri Aug 26, 2011 3:13 pm

Post by Xciso » Wed Nov 30, 2011 3:38 am

fred123 wrote:I would if I could read it!
Why cant you read it?

Active Member

Posts

Joined
Fri Jul 15, 2011 5:20 am

Post by The Alchemist » Fri Dec 02, 2011 11:55 pm

Xciso wrote:
fred123 wrote:I would if I could read it!
Why cant you read it?
Its in spanish, and I am having a similar issue with the install. I can upload the mod, but I dont know how to use it properly.

The file didnt overwrite anything

User avatar
Active Member

Posts

Joined
Sun Nov 22, 2009 11:04 am

Post by fred123 » Mon Dec 05, 2011 9:35 pm

its in spanish so cant read it...

REALLY need to get this sorted asap...

Active Member

Posts

Joined
Fri Aug 26, 2011 3:13 pm

Post by fred123 » Tue Dec 06, 2011 3:44 am

The Alchemist wrote:
Xciso wrote:
fred123 wrote:I would if I could read it!
Why cant you read it?
Its in spanish, and I am having a similar issue with the install. I can upload the mod, but I dont know how to use it properly.

The file didnt overwrite anything
Have you got any further with it?

Active Member

Posts

Joined
Fri Aug 26, 2011 3:13 pm

Post by The Alchemist » Fri Dec 09, 2011 12:04 am

Yes I got it to work.

Its very nice, but I still have the categories displayed in the header bar, which is where I wanted them to create the drop downs. But this is good enough for now.

User avatar
Active Member

Posts

Joined
Sun Nov 22, 2009 11:04 am

Post by fred123 » Wed Dec 14, 2011 6:04 pm

I cant figure it out, can you point me in the right direction?

Active Member

Posts

Joined
Fri Aug 26, 2011 3:13 pm

Post by fred123 » Fri Dec 16, 2011 5:13 pm

The Alchemist wrote:Yes I got it to work.

Its very nice, but I still have the categories displayed in the header bar, which is where I wanted them to create the drop downs. But this is good enough for now.
Are you usin the module?

Active Member

Posts

Joined
Fri Aug 26, 2011 3:13 pm

Post by jty » Wed Dec 28, 2011 4:23 am

wend wrote:I may write some jquery code, Change the css style of sub-categories.

Add these code to the end of Your_Template/template/header.tpl

Code: Select all

<script type="text/javascript">
	$(document).ready(function(){
		$('.box-category ul li ul').css("display","block");
		//$('.box-category ul li ul li ul').css("display","block"); //this may display sub sub categories.

	});
</script>
Thank-you. This works for the 1st sub category level in 1.5.1.3 but the sub sub categories, the second level, didn't work for me.

jty
Active Member

Posts

Joined
Sat Aug 30, 2008 8:19 am

Post by avriukas » Sat Feb 04, 2012 3:17 am

DAMN... it is required simple thing -
dir
sub dir
sub sub dir

and not working on opencart.. 1.5.1.3

I'm so so sad...

too many code chahnges and after problems in previouse posts to try make all these changes :( :(

User avatar
New member

Posts

Joined
Wed Feb 01, 2012 9:45 pm

Post by Voomer » Sat Feb 25, 2012 1:05 am

Hi!

any ideas why are the special characters ($,euro and other language characters) messed up?

Newbie

Posts

Joined
Sat Feb 25, 2012 1:03 am

Post by Voomer » Sat Feb 25, 2012 1:11 am

got it! FIXED!

Newbie

Posts

Joined
Sat Feb 25, 2012 1:03 am

Post by perfectshoppe » Tue Feb 28, 2012 9:54 pm

I have been able to show sub categories under categories following step no 1 to step 8 mentioned above but my problem is that it is not now showing the number of products on left hand side either in category or in sub categories. Any help?

Also by pressing main category link , a refine search page gets opened with only sub categories mentioned there which look very odd. Please solve the problem.

Newbie

Posts

Joined
Sun Feb 12, 2012 4:45 pm

Post by pxdva » Sun Mar 11, 2012 1:58 am

Credit to the original poster chokoret for this post.

For 1.5.1.3 use the following:

STEP 1 Use this for catalog/controller/module/category.php:

Code: Select all

<?php 
class ControllerModuleCategory extends Controller {
   protected function index() {
      $this->language->load('module/category');
      
       $this->data['heading_title'] = $this->language->get('heading_title');
      
      if (isset($this->request->get['path'])) {
         $parts = explode('_', (string)$this->request->get['path']);
      } else {
         $parts = array();
      }
      
      if (isset($parts[0])) {
         $this->data['category_id'] = $parts[0];
      } else {
         $this->data['category_id'] = 0;
      }
      
      if (isset($parts[1])) {
         $this->data['child_id'] = $parts[1];
      } else {
         $this->data['child_id'] = 0;
      }
            if (isset($parts[2])) {
         $this->data['sisters_id'] = $parts[2];
      } else {
         $this->data['sisters_id'] = 0;
      }         
      $this->load->model('catalog/category');
      $this->load->model('catalog/product');
      
      $this->data['categories'] = array();
               
      $categories = $this->model_catalog_category->getCategories(0);
      
          foreach ($categories as $category) {
         
             $children_data = array();
          $sister_data = array();
             
             $children = $this->model_catalog_category->getCategories($category['category_id']);
             
             foreach ($children as $child) {           
                $sister_data = array();
                $sisters = $this->model_catalog_category->getCategories($child['category_id']);
                if($sisters) {
                   foreach ($sisters as $sisterMember) {
                      $sister_data[] = array(
                         'category_id' =>$sisterMember['category_id'],
                         'name'        => $sisterMember['name'],
                         'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']. '_' . $sisterMember['category_id'])   
                      );                     
                                 
                   }
                   $children_data[] = array(
                         'category_id' => $child['category_id'],
                         'sister_id'   => $sister_data,
                         'name'        => $child['name'],
                         'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])   
                      );   
                }else{                     
                   $children_data[] = array(
                      'category_id' => $child['category_id'],
                      'sister_id'    =>'',
                      'name'        => $child['name'],
                      'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])   
                   );   
                }
             }         
             $data = array(
                'filter_category_id'  => $category['category_id'],
                'filter_sub_category' => true   
             );     
               
             $product_total = $this->model_catalog_product->getTotalProducts($data);
                     
             $this->data['categories'][] = array(
                'category_id' => $category['category_id'],
                'name'        => $category['name'],
                'children'    => $children_data,
                'sister'    => $sister_data,
                'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
             );
          }
      
      if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) {
         $this->template = $this->config->get('config_template') . '/template/module/category.tpl';
      } else {
         $this->template = 'default/template/module/category.tpl';
      }
      
      $this->render();
     }
}
?>
STEP 2: Use this for catalog/view/theme/default/template/module/category.tpl:

Code: Select all

<div class="box">
  <div class="box-heading"><?php echo $heading_title; ?></div>
  <div class="box-content">
    <div class="box-category">
      <ul>
        <?php foreach ($categories as $category) { ?>
        <li>
          <?php if ($category['category_id'] == $category_id) { ?>
          <a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a>
          <?php } else { ?>
          <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
          <?php } ?>
          <?php if ($category['children']) { ?>
          <ul>
            <?php foreach ($category['children'] as $child) { ?>
            <li>
              <?php if ($child['category_id'] == $child_id) { ?>
              <a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a>
              <?php } else { ?>
              <a href="<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></a>
              <?php } ?>
                  <?php if($child['sister_id']){ ?>
    <ul>
    <?php foreach($child['sister_id'] as $sisters) { ?>

    <li>
    <?php if ($sisters['category_id'] == $sisters_id) { ?>
    <a href="<?php echo $sisters['href']; ?>" class="active"> - <?php echo $sisters['name']; ?></a>
    <?php } else { ?>
    <a href="<?php echo $sisters['href']; ?>"> - <?php echo $sisters['name']; ?></a>
    <?php } ?>
    </li>
    <?php } ?>
    </ul>
    <?php } ?>
           </li>
            <?php } ?>
          </ul>
          <?php } ?>
        </li>
        <?php } ?>
      </ul>
    </div>
  </div>
</div>
STEP 3:
FIND in catalog/view/theme/default/stylesheet/stylesheet.css

Code: Select all

.box-category > ul > li ul > li > a.active + ul {
display: block;
}
and UNDER THAT, ADD:

Code: Select all

.box-category > ul > li ul > li ul > li a.active {
font-weight: bold;
color: #06bcc3;
}
.box-category > ul > li ul > li ul > li a.active + ul {
display: block;
}
That worked for me using the default Opencart template.

Newbie

Posts

Joined
Thu Aug 04, 2011 6:20 am
Who is online

Users browsing this forum: No registered users and 6 guests