首页 > 解决方案 > Prestashop 1.7 面包屑标题

问题描述

我正在尝试在基于版本 1.7.6.8 中的经典主题制作的自定义 Prestashop 主题中编辑面包屑。我正在处理的网站的 Prestashop 位于 mydomain.com/shop 的文件夹中,所以我希望面包屑阅读:

主页 / 商店 / 产品

Home链接到 mydomain.com,Shop链接到mydomain.com/shop。

我已将 Home 的链接添加到 mydomain.com 好。现在我想更改默认 Prestashop 面包屑,因为它当前显示为:

主页 / 主页 / 产品

第二个主页转到正确的链接(mydomain.com/shop),但我不知道如何将其更改为阅读Shop而不是Home。我找到了一种编辑控制器以删除第二个主页链接的方法,这将允许我在我已经添加的新主页链接旁边添加一个带有商店的新链接,但这似乎不是一个非常优雅的解决方案,并且需要在很多页面上更改脚本。肯定有更好的方法吗?

感谢您的任何反馈。

编辑:这是来自 controllers/productController.php 的代码

    public function getBreadcrumbLinks()
{
    /*$breadcrumb = parent::getBreadcrumbLinks();*/

    $categoryDefault = new Category($this->product->id_category_default, $this->context->language->id);

    foreach ($categoryDefault->getAllParents() as $category) {
        if ($category->id_parent != 0 && !$category->is_root_category) {
            $breadcrumb['links'][] = $this->getCategoryPath($category);
        }
    }

    if (!$categoryDefault->is_root_category) {
        $breadcrumb['links'][] = $this->getCategoryPath($categoryDefault);
    }

    /*$breadcrumb['links'][] = array(
        'title' => $this->product->name,
        'url' => $this->context->link->getProductLink($this->product, null, null, null, null, null, (int) $this->getIdProductAttributeByRequest()),
    );*/

    return $breadcrumb;
}

您可以看到我删除的两个部分,第一个删除了默认的“主页”链接,第二个删除了我不需要的带有产品名称的链接。显然,代码去某个地方查找链接并将其与名称匹配,我只是不知道在哪里。

标签: prestashop-1.7breadcrumbs

解决方案


我找到了答案,您可以通过更改 shoproot/var/cache/prod/translations/catalogue.[your language].php 中的文件将标签从“Home”更改为“Shop”

文件中有很多地方出现了“Home”,为了更改面包屑,它在 en-gb 版本中的第 6370 行附近。

编辑:这是一个更好的选择,您可以从 Prestashop 控制面板转到国际、翻译、修改翻译。从下拉菜单中选择主题翻译,您正在处理的主题,语言,单击修改,搜索“主页”,然后将翻译设置为“商店”。如果您必须从控制面板清除缓存,这可以节省您对缓存文件的更改。


推荐阅读