Изменил(а) на 'Хлебные крошки'

yurec 2023-01-03 17:20:57 +05:00
parent 288d122f7c
commit 6ef8c26837
1 changed files with 24 additions and 0 deletions

@ -0,0 +1,24 @@
Хлебные крошки формируются в /api/php/core.php функцией static function getBreadcrumb ( $table, $category) {
Функция принимает два параметра - имя таблицы где рекурсивно ищем путь и ИД текущей категории (из товара, категории товаров, в админке аналогично)
В результате функция рекурсивно проходит таблицу вложенных категорий пока не найдет нулевое вложение и формирует рекурсивный двух мерный массив с ИД и названием категории
Вызов из модуля товара:
$smarty->assign('Breadcrumb', \core::getBreadcrumb( 'tovar_category', $page[0]['category'] ) );
где последний параметр - категория в которой находится товар.
Вывод в шаблон:
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Главная</a></li>
<li class="breadcrumb-item"><a href="/tovat_cat/">Каталог</a></li>
{section name=customer loop=$Breadcrumb}{if ($Breadcrumb[customer].id && $Breadcrumb[customer].id!=$smarty.get.id)}
<li class="breadcrumb-item"><a href="/tovar_cat/{$Breadcrumb[customer].id}">{$Breadcrumb[customer].title}</a></li>
{/if}{/section}
<li class="breadcrumb-item active" aria-current="page">{$page[0].title|substr:70}</li>
</ol>
</nav>