Всех приветствую. Подскажите, пожалуйста, что делаю не так. Пытаюсь вывести меню следующего вида:
-Категория 1
---производитель 2
---производитель 6
-Категория 2
---производитель 3
---производитель 5
---производитель 2
-Категория 3
---производитель 1
т.е. под категорией должны появиться производители, содержащиеся в ней.
И почти всё получается, кроме одного - во всех категориях выводятся производители, принадлежащие последней категории.
В контроллере это выглядит так:
$categories = $this->model_catalog_category->getCategories(0);
foreach ($categories as $category) {
if ($category['top']) {
// Level 2
$children_data = array(); //1
$children = $this->model_catalog_category->getCategories($category['category_id']); //2
foreach ($children as $child) { //3
$filter_data = array(
'filter_category_id' => $child['category_id'],
'filter_sub_category' => true
);
$children_data[] = array(
'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
);
}
// Level 1
$data['categories'][] = array(
'name' => $category['name'],
'children' => $children_data,
'column' => $category['column'] ? $category['column'] : 1,
'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
);
//manufacturers menu
$manufacturers = $this->model_catalog_category->getManufacturers($category['category_id']); //2
$data['manufacturers'] = array(); //1
foreach ($manufacturers as $manufacturer) { //3
$data['manufacturers'][] = array (
'manufacturer_id' => $manufacturer['manufacturer_id'],
'thumb' => $manufacturer['image'],
'name' => $manufacturer['name'],
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '&manufacturer_id=' . $manufacturer['manufacturer_id'])
);
}
}
}
В view так:
<?php foreach ($categories as $category) { ?>
<b><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></b> <br>
<?php foreach ($manufacturers as $manufacturer) { ?>
---- <a href="<?php echo $manufacturer['href'] ?>"><?php echo $manufacturer['name'] ?> (<?php echo $manufacturer['thumb'] ?>)</a> <br>
<?php } ?>
<?php } ?>
Если аналогичным образом делаю для level 2- всё отлично работает. С производителями - никак =(
Заранее благодарю за помощь.