В очередной раз мы начнем допиливать систему под заказчика.
Задача: Нужно выводить список сестринских категорий по принципу дополнительных категорий.
В файле catalog\controller\product\category.php добавляем функцию
public function getSubcategories($category_id) { $result = $this->model_catalog_category->getCategories($category_id); $subcategories = []; if (!empty($result)){ foreach ($result as $category) { $subcategories[] = [ 'name' => $category['name'], 'href' => $this->url->link('product/category', 'path=' . $category_id. '_' . $category['category_id']) ]; } } return $subcategories; }
которая будет нам помощником. Потом ниже, я добавил перед
$this->data['categories'] = array();
кусочек кода:
if($category_info['parent_id'] == 0){ $this->data['subcategories']= ''; }else{ $this->data['subcategories']=$this->getSubcategories($category_info['parent_id']); }
в которой проверяем если parent_id == 0 то сестринские не показываем
В противном случае отправляем parent_id на нашу getSubcategories
и последнее добавляем вывод нашего поля в шаблон
<?php if ($subcategories) { ?> <p style="text-align: center; width:100%;"> <?php foreach ($subcategories as $subcategories) { ?> <a class="c" href="<?php echo $subcategories['href']; ?>"><?php echo $subcategories['name']; ?></a> <?php } ?> </p> <?php } ?>
Вот и все. В каждой сестринской категории мы будем видеть список сестринских категорий.