Prestashop 1.7 面包屑标题
Prestashop 1.7 Breadcrumb titles
我正在尝试在我基于版本 1.7.6.8 中的经典主题制作的自定义 Prestashop 主题中编辑面包屑。我正在使用的网站的 Prestashop 位于 mydomain.com/shop 的文件夹中,因此我希望面包屑导航为:
首页/商店/产品
其中 Home links 到 mydomain.com 和 Shop 转到 mydomain。com/shop .
我已经将主页的 link 添加到 mydomain.com 好的。现在我想更改默认的 Prestashop 面包屑,因为它当前显示为:
首页/主页/产品
第二个家在右边 link (mydomain.com/shop) 但我不知道怎么改成 Shop 首页。我找到了一种方法来编辑控制器以删除第二个家 link,这样我就可以在我的新家 link 旁边添加一个新的 link with Shop已经添加了,但是这似乎不是一个非常优雅的解决方案,并且需要在很多页面上更改脚本。一定有更好的方法吧?
感谢任何反馈。
编辑:这是来自 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;
}
你可以看到我删除了两个部分,第一个删除了默认的“Home”link,第二个删除了我不需要的带有产品名称的link。显然代码去某个地方查找 link 并将其与名称匹配,我只是不知道在哪里。
我找到了答案,您可以通过更改 shoproot/var/cache/prod/translations/catalogue.[您的语言].php
中的文件将标签从“主页”更改为“商店”
文件中有很多地方出现了“Home”,要更改面包屑,它在 en-gb 版本的第 6370 行左右。
编辑:这是一个更好的选择,从您的 Prestashop 控制面板,您可以转到国际、翻译、修改翻译。从下拉菜单select主题翻译,你正在处理的主题,语言,点击修改,搜索“主页”,然后将翻译为“商店”。如果您必须从控制面板清除缓存,这样就不必对缓存文件进行更改。
我正在尝试在我基于版本 1.7.6.8 中的经典主题制作的自定义 Prestashop 主题中编辑面包屑。我正在使用的网站的 Prestashop 位于 mydomain.com/shop 的文件夹中,因此我希望面包屑导航为:
首页/商店/产品
其中 Home links 到 mydomain.com 和 Shop 转到 mydomain。com/shop .
我已经将主页的 link 添加到 mydomain.com 好的。现在我想更改默认的 Prestashop 面包屑,因为它当前显示为:
首页/主页/产品
第二个家在右边 link (mydomain.com/shop) 但我不知道怎么改成 Shop 首页。我找到了一种方法来编辑控制器以删除第二个家 link,这样我就可以在我的新家 link 旁边添加一个新的 link with Shop已经添加了,但是这似乎不是一个非常优雅的解决方案,并且需要在很多页面上更改脚本。一定有更好的方法吧?
感谢任何反馈。
编辑:这是来自 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;
}
你可以看到我删除了两个部分,第一个删除了默认的“Home”link,第二个删除了我不需要的带有产品名称的link。显然代码去某个地方查找 link 并将其与名称匹配,我只是不知道在哪里。
我找到了答案,您可以通过更改 shoproot/var/cache/prod/translations/catalogue.[您的语言].php
中的文件将标签从“主页”更改为“商店”文件中有很多地方出现了“Home”,要更改面包屑,它在 en-gb 版本的第 6370 行左右。
编辑:这是一个更好的选择,从您的 Prestashop 控制面板,您可以转到国际、翻译、修改翻译。从下拉菜单select主题翻译,你正在处理的主题,语言,点击修改,搜索“主页”,然后将翻译为“商店”。如果您必须从控制面板清除缓存,这样就不必对缓存文件进行更改。