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 <contact@prestashop.com> * @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>