В настоящее время я получил код, который отображает список категорий.Мне удалось создать одну подкатегорию, но я хочу, чтобы она была бесконечной, например, категория / подкатегория / подкатегория / etc / article.Структура базы данных категорий: id, title, slug parent_id, который по умолчанию равен 0.
Я пытался зациклить запрос, но вроде не знаю, как это сделать правильно, он просто не сделал 'т работал.
Функция выглядит как:
public static function getCategoryList()
{
$db = Db::getConnection();
$lang = self::Language();
$categoryList = [];
$result = $db->query("SELECT content.id, content.title$lang,content.slug$lang, content.sub_category_id, category.slug$lang FROM blog_category AS content LEFT JOIN blog_category AS category ON content.sub_category_id = category.id WHERE content.status='1' ORDER BY content.sort_order ASC");
foreach($result as $row){
$categoryList[] = [
'id' => $row[0],
'title' => $row[1],
'slug' => $row[2],
'sub_category' => $row[4],
];
}
return $categoryList;
}
И в HTML:
<?php foreach ($category as $categoryItem): ?>
<h4><a href="/blog/<?php if ($categoryItem['sub_category']) echo $categoryItem['sub_category'] . '/'; ?><?php echo $categoryItem['slug']; ?>"><?php echo $categoryItem['title']; ?></a></h4>
<p><?php echo $categoryItem['id']; ?></p>
<?php endforeach; ?>