Could someone paste here ALL code from ps_categorytree.tpl after changes? On my site, that code didn't work, prestasho p1.77, template: classic
for now i have:
public function getWidgetVariables($hookName = null, array $configuration = [])
{
$category = new Category((int) Configuration::get('PS_HOME_CATEGORY'), $this->context->language->id);
if (Configuration::get('BLOCK_CATEG_ROOT_CATEGORY') && isset($this->context->cookie->last_visited_category) && $this->context->cookie->last_visited_category) {
$category = new Category($this->context->cookie->last_visited_category, $this->context->language->id);
if (Configuration::get('BLOCK_CATEG_ROOT_CATEGORY') == 2 && !$category->is_root_category && $category->id_parent) {
$category = new Category($category->id_parent, $this->context->language->id);
} elseif (Configuration::get('BLOCK_CATEG_ROOT_CATEGORY') == 3 && !$category->is_root_category && !$category->getSubCategories($category->id, true)) {
$category = new Category($category->id_parent, $this->context->language->id);
}
}
return [
'categories' => $this->getCategories($category),
'c_tree_path' => isset($categories['children']) && count($categories['children']) && method_exists($this->context->controller, 'getCategory') && ($curr_category = $this->context->controller->getCategory()) ? self::getTreePath($categories['children'], $curr_category->id) : false,
'currentCategory' => $category->id,
];
}
public static function getTreePath($categories, $id, array $path = [])
{
foreach ($categories as $cate) {
if ($cate['id'] == $id){
if(is_array($cate['children']) && count($cate['children']))
$path[] = $cate['id'];
return $path;
}
$path[] = $cate['id'];
if(is_array($cate['children']) && count($cate['children'])) {
if ($result = self::getTreePath($cate['children'], $id, $path))
return $result;
}
array_pop($path);
}
return false;
}
from ps_categorytree.php and it from ps_categorytree.tpl:
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to
[email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <
[email protected]>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
*}
{function name="categories" nodes=[] depth=0}
{strip}
{if $nodes|count}
<ul class="category-sub-menu">
{foreach from=$nodes item=node}
<li data-depth="{$depth}">
{if $depth===0}
<a href="{$node.link}">{$node.name}</a>
{if $node.children}
<div class="navbar-toggler collapse-icons{if $c_tree_path && !in_array($node.id, $c_tree_path)} collapsed zmiana{/if} cos1" data-toggle="collapse" data-target="#exCollapsingNavbar{$node.id}">
<i class="material-icons add"></i>
<i class="material-icons remove"></i>
</div>
<div class="collapse{if $c_tree_path && in_array($node.id, $c_tree_path)} in zmiana2{/if} cos2" id="exCollapsingNavbar{$node.id}">
{categories nodes=$node.children depth=$depth+1}
</div>
{/if}
{else}
<a class="category-sub-link" href="{$node.link}">{$node.name}</a>
{if $node.children}
<span class="arrows{if $c_tree_path && !in_array($node.id, $c_tree_path)} collapsed zmiana3{/if} cos3" data-toggle="collapse" data-target="#exCollapsingNavbar{$node.id}">
<i class="material-icons arrow-right"></i>
<i class="material-icons arrow-down"></i>
</span>
<div class="collapse{if $c_tree_path && in_array($node.id, $c_tree_path)} in zmiana4{/if} cos4" id="exCollapsingNavbar{$node.id}">
{categories nodes=$node.children depth=$depth+1}
</div>
{/if}
{/if}
</li>
{/foreach}
</ul>
{/if}
{/strip}
{/function}
<div class="block-categories hidden-sm-down">
<ul class="category-top-menu">
<li><a class="text-uppercase h6" href="{$categories.link nofilter}">{$categories.name}</a></li>
<li>{categories nodes=$categories.children}</li>
</ul>
</div>