У меня примерно такая же задача... нужно чтобы показывалось 7 главных категорий в меню, а если их больше 7 - то последним было слово "Еще" и под ним в выпадающем меню остальные категории.
Помогите пожалуйста.
Вот код
<?php if ($categories) { ?>
<?php $a=1; foreach ($categories as $category) { if ($a<8) { ?>
<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name'];?></a>
<?php if ($category['children']) { ?>
<!-- SubMenu -->
<div class="sub-menu column-<?php echo $category['column']; ?>">
<ul>
<?php $i = 0; for (; $i < count($category['children']); $i++) { ?>
<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a>
<?php if(isset($category['children'][$i]['category_id'])) { ?>
<?php $categories_2 = $this->model_catalog_category->getCategories($category['children'][$i]['category_id']);
if($categories_2) { ?>
<br />
<!-- SubMenu -->
<div class="sub-menu">
<ul>
<?php foreach ($categories_2 as $category_2) { ?>
<li><a href="<?php echo $this->url->link('product/category', 'path='.$category['category_id'].'_' . $category['children'][$i]['category_id'] . '_' . $category_2['category_id']); ?>"><?php echo $category_2['name']; ?></a></li>
<?php } ?>
</ul>
</div>
<!-- End SubMenu -->
<?php } ?>
<?php } ?>
</li>
<?php } ?>
</ul>
</div>
<!-- End SubMenu -->
<?php } ?>
</li>
<?php } $a++; } ?>
<?php } ?>
Сейчас просто отображается 7 категорий, а остальные просто не видны в меню.