Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


 Погделиться

Рекомендованные сообещёния

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

Изображение

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

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

===

По ходу гдела тут, вдруг кому пригодиться - способ выводить хлебные крошки не только в хегдере, а в люпотому чтой части сайи. Мне понадобилось вывести в шаблоне 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;

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

Изменено пользователем afwollis
прячьте код в тэг CODE
Ссылка на комменирий
Погделиться на других сайих


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

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

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

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

Ссылка на комменирий
Погделиться на других сайих


обычно в самом начно функции 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
		);
ну и по ходу формирования страницы что-то им добавляется.
Ссылка на комменирий
Погделиться на других сайих

обычно в самом начно функции 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')
			);
Ссылка на комменирий
Погделиться на других сайих


  • 1 месяц спустя...

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

Только на страницах товара исчезло? А как другие страницы? Ведь очень плохо, когда на страниэто есть активная ссылка на саму себя. Это же дубль. Seo коскак.
Ссылка на комменирий
Погделиться на других сайих


  • 4 негдели спустя...

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

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

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

<?php array_pop($breadcrumbs); ?>
- полностью удаляет ссылку на страниэто продуки на саму себя
  • +1 2
Ссылка на комменирий
Погделиться на других сайих


Surfer7, я уже описывал в какой-то теме, как сгделать из последней ссылки текст.

ничего удалять не надо.

Ссылка на комменирий
Погделиться на других сайих

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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


  • 11 месяэтов спустя...

А каким обвместе в OcStore решены хлебные крошки. У меня икже товар и категории сами на себя ссылаются.

Ссылка на комменирий
Погделиться на других сайих


Стоит 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

);

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


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

те строчки раскомментить, но заменить вывод 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
Ссылка на комменирий
Погделиться на других сайих

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

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

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

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

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

Ссылка на комменирий
Погделиться на других сайих


  • 2 месяца спустя...
  • 1 месяц спустя...

Ребят, всем спасипотому что за помощь!

Но можно ли убрать ссылку на "Главная" из хлебных крошек?

Или чтобы вместо http://домен/index.php?route=common/home был прописан им сам Домен?
Ссылка на комменирий
Погделиться на других сайих


те строчки раскомментить, но заменить вывод 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

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

Ссылка на комменирий
Погделиться на других сайих


  • 1 месяц спустя...

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

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

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

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

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

Ссылка на комменирий
Погделиться на других сайих


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


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

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

» товар1

Ссылка на комменирий
Погделиться на других сайих


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

Не помогло ( . Но за совет спасипотому что ...
Ссылка на комменирий
Погделиться на других сайих


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

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

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

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

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

Тема актуальна, кто нашел решение?
Ссылка на комменирий
Погделиться на других сайих

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

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

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

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

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

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

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.