Breadcrumb Prestashop - caminho errado exibido na página do produto
-
21-12-2019 - |
Pergunta
Estou com um problema de localização atual na página do produto, ela não mostra o caminho real do produto.
Veja como eu configurei no back-end:
Veja como isso mostra:
Meu arquivo breadcrumb.tpl:
<!-- Breadcrumb -->
{if $page_name != index}
{if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if}
<div id="breadcrumb">
<ul class="breadcrumb">
{if $page_name!='product'}
<li>
<a href="{$base_dir}" title="{l s='return to Home'}">{l s='Home'} {$navigationPipe|escape:html:'UTF-8'} {l s='Shop'}</a>
{if isset($path) AND $path}
{if $page_name!='product'}
<span class="divider" {if isset($category) && $category->id_category == 1}style="display:none;"{/if}>
{$navigationPipe|escape:html:'UTF-8'}
</span>
{/if}
{/if}
</li>
{/if}
{if isset($path) AND $path}
{if !$path|strpos:'span'}
<li>{$path}</li>
{else}
<li class="active">{$path}</li>
{/if}
{/if}
</ul>
</div>
{/if}
<!-- /Breadcrumb -->
Procurei em toda a web uma solução para o meu problema e não consegui encontrar nada útil.Por favor me ajude com isso.Qualquer conselho é útil.
Obrigado!
Solução
Investigar ps_category
tabela do seu banco de dados e veja se há múltiplas declarações pai para todas as categorias.Eu tive esse problema no passado e limpar linhas inúteis da tabela resolveu meu problema.
Outras dicas
As categorias usam nleft e nright, usando este algoritmo:
https://en.wikipedia.org/wiki/Nested_set_model
No meu caso funcionou definindo todos nleft e nright como 0, então Category::regenerateEntireNtree()