我在产品页面上遇到面包屑问题,但没有显示该产品的真实路径。
以下是我在后端设置的方法:
以下是它的显示方式:
我的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 -->
我已经在网络上的任何地方搜索了我的问题的解决方案,我找不到任何有用的东西。 请帮我解决一下这个。任何建议都有帮助。
谢谢!
答案 0 :(得分:2)
查看数据库中的ps_category
表,看看是否有多个父类声明适用于所有类别。
我过去遇到过这个问题,清理表中无用的行解决了我的问题。
答案 1 :(得分:0)
类别使用nleft和nright,它使用此算法:
https://en.wikipedia.org/wiki/Nested_set_model
在我的案例中,将所有nleft和nright设置为0,然后Category :: regenerateEntireNtree()