#prestashop-1.7 #breadcrumbs
#prestashop-1.7 #хлебные крошки
Вопрос:
Я пытаюсь отредактировать хлебные крошки в пользовательской теме Prestashop, которую я создаю на основе классической темы версии 1.7.6.8. На веб-сайте, над которым я работаю, Prestashop находится в папке по адресу mydomain.com/shop , поэтому я хотел бы, чтобы панировочные сухари читали:
Главная страница / Магазин / Товары
Где главная ссылка на mydomain.com и Магазин отправляется в mydomain.com/shop .
Я добавил ссылку для Home в mydomain.com хорошо. Теперь я хочу изменить хлебные крошки Prestashop по умолчанию, потому что в настоящее время они читаются:
Главная / Главная / Товары
Второй дом переходит по правой ссылке (mydomain.com/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 amp;amp; !$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» по умолчанию, второй удаляет ссылку с названием продукта, которое мне не нужно. Очевидно, что код идет куда-то, чтобы найти ссылку и сопоставить ее с именем, я просто не знаю, где.
Ответ №1:
Я нашел ответ: вы можете изменить тег с «Home» на «Shop», изменив файлы в shoproot /var / cache / prod / translations / catalogue .[ваш язык].php
Есть несколько мест, где в файле появляется «Home», для изменения макета это примерно строка 6370 в версии en-gb.
РЕДАКТИРОВАТЬ: Вот лучший вариант, с панели управления Prestashop вы можете перейти к международным, переводам, изменить переводы. В раскрывающихся списках выберите перевод темы, тему, над которой вы работаете, язык, нажмите изменить, найдите «главная», а затем укажите перевод как «магазин». Это избавит вас от необходимости вносить изменения в кэшированный файл, если вам нужно очистить кэш с панели управления.