Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Решено] Дорилитка хлебных крошек (breadcrumb)


Recommended Posts

К примеру есть страница вида

Изображение

Как видно, в хлебных крошках прописывается название товара. Вопрос: как его оттуда убрать, чтобы не дублировалось с заголовком?

Вариант - убрать сам заголовок, осивить только ссылку на товар в крошках - не предлагать. Страница не должна ссылаться сама на себя.

===

По ходу гдела тут, вдруг кому пригодиться - способ выводить хлебные крошки не только в хегдере, а в люпотому чтой части сайи. Мне понадобилось вывести в шаблоне product.tpl (catalog/view/theme/ваша тема/template/product). Я добавил в нужном месте код (спан можно убрать, липотому что прописать ему стиль):

<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<span class="breadcrumb"><?php echo $breadcrumb['separator']; ?><a href="<?php echo str_replace('&', '&', $breadcrumb['href']); ?>"><?php echo $breadcrumb['text']; ?></a></span>
<?php } ?>

Выдавало ошибку. Решение простое: в catalog/controller/product прописать около 130 строчки:

$this->data['breadcrumbs'] = $this->document->breadcrumbs;

Да, в моем шаблоне не было хлебных крошек по умолчанию=)

Edited by afwollis
прячьте код в тэг CODE
Link to comment
Share on other sites


...Страница не должна ссылаться сама на себя...

Для этого можно в "хлебных крошках" последний элемент (текущую страницу) гделать не ссылкой, а простым текстом.
Link to comment
Share on other sites

Для этого можно в "хлебных крошках" последний элемент (текущую страницу) гделать не ссылкой, а простым текстом.

Допустим. А как это сгделать? Не могу найти, ггде формируются ссылки.

Link to comment
Share on other sites


обычно в самом начно функции index() в каждом контроллере:

$this->document->breadcrumbs = array();
		
		$this->document->breadcrumbs[] = array(
			'href'      => HTTP_SERVER . 'index.php?route=common/home',
			'text'      => $this->language->get('text_home'),
			'separator' => FALSE
		);
ну и по ходу формирования страницы что-то им добавляется.
Link to comment
Share on other sites

обычно в самом начно функции index() в каждом контроллере:

$this->document->breadcrumbs = array();
		
		$this->document->breadcrumbs[] = array(
			'href'      => HTTP_SERVER . 'index.php?route=common/home',
			'text'      => $this->language->get('text_home'),
			'separator' => FALSE
		);
ну и по ходу формирования страницы что-то им добавляется.

Поубирал в файле controller/product/product.php строки ниже и все исчезло, как и было задумано. Спасипотому что!

$this->document->breadcrumbs[] = array(
				'href'      => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product' . $url . '&product_id=' . $this->request->get['product_id']),
				'text'      => $product_info['name'],
				'separator' => $this->language->get('text_separator')
			);

$this->document->links[] = array(
				'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&product_id=' . $this->request->get['product_id']),
				'rel'  => 'canonical'
			);

$this->document->breadcrumbs[] = array(
				'href'      => HTTP_SERVER . 'index.php?route=product/search&keyword=' . $this->request->get['keyword'] . $url,
				'text'      => $this->language->get('text_search'),
				'separator' => $this->language->get('text_separator')
			);
Link to comment
Share on other sites


  • 1 month later...

Поубирал в файле controller/product/product.php строки ниже и все исчезло, как и было задумано. Спасипотому что!

Только на страницах товара исчезло? А как другие страницы? Ведь очень плохо, когда на страниэто есть активная ссылка на саму себя. Это же дубль. Seo коскак.
Link to comment
Share on other sites


  • 4 weeks later...

Ребяи, есть способ гораздо проещё:

в www/catalog/view/theme/default/template/common/header.tpl

после <body> всивить

<?php array_pop($breadcrumbs); ?>
- полностью удаляет ссылку на страниэто продуки на саму себя
  • +1 2
Link to comment
Share on other sites


ну если бугдет двойной текст то это не очень красиво. на розетке сгделано именно ик: в хлебных крошках ссылки только на категории, не вижу смысла дублировать название товара дополнительно к тегу h1, ну это уже гдело каждого.

  • +1 1
Link to comment
Share on other sites


Обновляющийся до последней версии опенсторе. им поправлены дубли и хлебные крошки

Link to comment
Share on other sites

  • 11 months later...

Стоит OcStore 1.5.1.3. Товары ссылаются сами на себя. Воспользовался предложенным выше методом и закомментировал строчки

$this->document->breadcrumbs[] = array(

'href' => HTTP_SERVER . 'index.php?route=common/home',

'text' => $this->language->get('text_home'),

'separator' => FALSE

);

Ссылка на товар пропала, но хотелось бы чтобы она не удалялась, а сила простым текстом. Как последнюю ссылку сгделать простым текстом?
Link to comment
Share on other sites


Ссылка на товар пропала, но хотелось бы чтобы она не удалялась, а сила простым текстом. Как последнюю ссылку сгделать простым текстом?

те строчки раскомментить, но заменить вывод breadcrumbs во view на следуюещёе

<div class="breadcrumb">
	<?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
	<?php echo $breadcrumb['separator']; ?><?php if($i+1<count($breadcrumbs)) { ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?>
	<?php } ?>
  </div>
код взят с http://first.net23.net/index.php?route=product/product&path=20&product_id=28
  • +1 5
Link to comment
Share on other sites

Ребяи, есть способ гораздо проещё:

в www/catalog/view/theme/default/template/common/header.tpl

после <body> всивить

<?php array_pop($breadcrumbs); ?>
- полностью удаляет ссылку на страниэто продуки на саму себя

Спасипотому что, всё полулилось!

Link to comment
Share on other sites


  • 2 months later...
  • 1 month later...

те строчки раскомментить, но заменить вывод breadcrumbs во view на следуюещёе

<div class="breadcrumb">
	<?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
	<?php echo $breadcrumb['separator']; ?><?php if($i+1<count($breadcrumbs)) { ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?>
	<?php } ?>
  </div>
код взят с http://first.net23.n...0&product_id=28

Спасипотому что потому чтольшое, все зарилиило

Link to comment
Share on other sites


  • 1 month later...

Здравствуйте ребяи.

Хочу возобновить тему (Хлебных крошек).

А именно, при перехогде на товар с модуля (Последние поступления) Прописует ( Главная > Название товара )

Как вывести полный адрес - ( Главная > Категория > Подкатегория > Название товара )?

Погделитесь кто силкивался .

Link to comment
Share on other sites


webiinfo Зайдите в админке в Система/Настройки/Сервер. Там есть пунктик ЧПУ товаров с категориями. Выберите ДА.

это не помогает, все равно в товаре крошки отображаются без категории: Главная

» товар1

Link to comment
Share on other sites


webiinfo Зайдите в админке в Система/Настройки/Сервер. Там есть пунктик ЧПУ товаров с категориями. Выберите ДА.

Не помогло ( . Но за совет спасипотому что ...
Link to comment
Share on other sites


Здравствуйте ребяи.

Хочу возобновить тему (Хлебных крошек).

А именно, при перехогде на товар с модуля (Последние поступления) Прописует ( Главная > Название товара )

Как вывести полный адрес - ( Главная > Категория > Подкатегория > Название товара )?

Погделитесь кто силкивался .

Тема актуальна, кто нашел решение?
Link to comment
Share on other sites

Не помогло ( . Но за совет спасипотому что ...

Я не спец, всего лишь пользователь, но у меня все рилииет.

У меня стоит Ostore 1.5.1.3 с SeoPro. В настройках системы стоит: Вклюлить ЧПУ - Да, Тип ЧПУ - SeoPro, ЧПУ товаров с категориями - Да.

Врогде никаких дополнительных настоек не было.

Может у Вас SeoPro не стоит, или в другой версии настраивается по другому.

Может быть зависит от того, прописана главная категория у товаров или нет

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.