问题描述
我正在尝试根据1.7.6.8版本中的Classic主题编辑自定义的Prestashop主题中的面包屑。我正在工作的网站上的Prestashop位于mydomain.com/shop的文件夹中,所以我希望面包屑阅读:
首页/商店/产品
首页链接到mydomain.com, Shop 链接到mydomain.com/shop。
我已经将Home的链接添加到mydomain.com了。现在,我想更改默认的Prestashop面包屑,因为它当前显示为:
首页/主页/产品
第二个首页转到正确的链接(mydomain.com/shop),但我不知道如何将其更改为读取 Shop 而不是 Home 。我找到了一种编辑控制器的方法,以便删除第二个家庭链接,这将使我可以在已经添加的新家庭链接旁边添加一个带有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,(int) $this->getIdProductAttributeByRequest()),);*/
return $breadcrumb;
}
您可以看到我已删除的两个部分,第一部分删除了默认的“主页”链接,第二部分删除了具有我不需要的产品名称的链接。显然,代码会去某个地方查找链接并将其与名称匹配,我只是不知道在哪里。
解决方法
我找到了答案,您可以通过更改shoproot / var / cache / prod / translations / catalogue中的文件,将标签从“首页”更改为“商店”。[您的语言] .php
在很多地方,文件中都显示“主页”,以更改面包屑,该面包屑在en-gb版本的6370行附近。
编辑:这是一个更好的选择,从Prestashop控制面板中,您可以转到国际语言,翻译,修改翻译。从下拉列表中选择主题翻译,您正在处理的主题,语言,单击“修改”,搜索“ home”,然后将翻译设置为“ shop”。如果您必须从控制面板中清除缓存,则不必再对缓存文件进行更改。