Если необходимо выводить список также на странице "карты сайта".
Откройте /controllers/front/SitemapController.php и после:
Код:
parent::initContent();
добавьте:
Код:
$categories = Category::getRootCategory()->recurseLiteCategTree();
foreach ($categories['children'] as &$children)
{
$products = Product::getProducts($this->context->language->id, 0, 0, 'date_add', 'ASC', $children['id']);
foreach($products as $product)
$children['products'][$product['id_product']] = $product['name'];
}
$this->context->smarty->assign('categories', $categories);
Откройте /themes/ваша-тема/sitemap.tpl и добавьте:
Код:
<div class="categTree">
<h3>Товары</h3>
<div class="tree_top"><a href="{$base_dir_ssl}" title="{$categories.name|escape:'htmlall':'UTF-8'}">{$categories.name|escape:'htmlall':'UTF-8'}</a></div>
<ul class="tree">
{if isset($categories.children)}
{foreach $categories.children as $child}
<li {if $child@last}class="last"{/if}>
<a href="{$child.link|escape:'htmlall':'UTF-8'}" title="{$child.desc|escape:'htmlall':'UTF-8'}">{$child.name|escape:'htmlall':'UTF-8'}</a>
{if isset($child.products)}
<ul class="tree">
{foreach $child.products as $id => $product_name}
<li {if $child@last}class="last"{/if}>
<a href="{$link->getProductLink($id)}">{$product_name|escape:'htmlall':'UTF-8'}</a>
</li>
{/foreach}
</ul>
{/if}
</li>
{/foreach}
{/if}
</ul>
</div>
Размещенный выше код выводит только один уровень товаров, если в вашем ИМ используется большее кол-во подкатегорий необходимо переписывать код для реализации рекурсивного вывода товаров.