У меня есть массив $ data, который содержит около 50 значений, одно из которых - «категории». То, что я пытаюсь сделать, это добавить еще один массив «подкатегории» в массив «категории», который содержит категории, которые принадлежат каждой категории и на стороне html, распечатать список всех категорий и подкатегорий в каждой соответствующей категории. Немного застрял здесь.
инициализация массивов:
$data['categories'] = array();
$results = $this->model_catalog_category->getCategories($category_id);
foreach ($results as $result) {
$filter_data = array(
'filter_category_id' => $result['category_id'],
'filter_sub_category' => true
);
$data['categories'][] = array(
'root_categories' => array (
'category_id' => $result['category_id'],
'name' => $result['name'],
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
),
'subcategories' => array(
'sub_name' => $result['name'],
'sub_href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
),
);
}
foreach ($data['categories'] as $category) {
$sub_results = $this->model_catalog_category->getCategories($category['root_categories']['category_id']);
foreach ($sub_results as $sub_result){
$category['subcategories'] = array (
'sub_name' => $sub_result['name'],
'sub_href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $sub_result['category_id'] . $url),
);
}
}
Доступ к массивам:
<div class="row">
<?php if ($categories) { ?>
<div class="row" style='margin-top: 13px; '>
<div class="col-sm-3">
<ul>
<?php foreach ($categories as $category) { ?>
<div class 'tests'>
<li class='sidebar_form_item click_here_for_demo' style='padding: 5px; margin-bottom: 0px;'>
<i class="fa fa-chevron-right" style='font-size: 12px; margin: 6px 7px 0px 7px; color: #696969; float: left;'></i>
<div style='width: 250px; float: left;'><a href="<?php echo $category['root_categories']['href']; ?>" style='color: #696969; font-size: 12px;'><?php echo $category['root_categories']['name']; ?></a></div>
<div class='clearfix'></div></li>
<?php if($category['subcategories']) { ?>
<?php foreach ($category['subcategories'] as $sub_category) { ?>
<li class='sidebar_form_item show_when_neded' style='display: none; padding: 5px 5px 5px 20px; margin-bottom: 0px;'>
<i class="fa fa-chevron-right" style='font-size: 12px; margin: 6px 7px 0px 7px; color: #696969; float: left;'></i>
<div style='width: 250px; float: left;'>
<a href="<?php echo $category[$sub_category]['sub_href']; ?>" style='color: #696969; font-size: 12px;'><?php echo $category[$sub_category]['sub_name']; ?></a></div>
<div class='clearfix'></div></li>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
</ul>
</div>
</div>
<?php }?>
P.S. Веб-сайт Opencart, использующий Model-View-Controller