Перейти к содержанию
kate1987

Хлебные крошки (выделить активный пункт)

Рекомендуемые сообщения

Здравствуйте. Использую opencart 1.5.3 В ходе разработки сайта возник вопрос: как в breadcrumb изменить цвет активной ссылки (активной страницы)? Код

.breadcrumb a:active { color:red; }

не рулит. Может кто знает как?

post-17380-0-57822600-1357307236_thumb.png

Поделиться сообщением


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

зайдите в product.tpl

найдите в самом начале файла этот кусок:

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

и замените на

<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 { ?><font color="#FF0000"><?php echo $breadcrumb['text']; ?></font><?php } ?>
	<?php } ?>
 </div>

Этим вы сразу сделаете 2 полезные вещи:

1) активная ссылка выделяется другим цветом

2) уберете ссылку страницы на саму себя, что в свою очередь сократит шансы попасть под бан гугла

По аналогичной схеме нужно сделать в категориях и других страницах на которых у вас есть хлебные крошки

  • +1 8

Поделиться сообщением


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

зайдите в product.tpl

найдите в самом начале файла этот кусок:

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

и замените на

<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 { ?><font color="#FF0000"><?php echo $breadcrumb['text']; ?></font><?php } ?>
	<?php } ?>
 </div>

Этим вы сразу сделаете 2 полезные вещи:

1) активная ссылка выделяется другим цветом

2) уберете ссылку страницы на саму себя, что в свою очередь сократит шансы попасть под бан гугла

По аналогичной схеме нужно сделать в категориях и других страницах на которых у вас есть хлебные крошки

А имеет ли смысл обрезать крошки до категории, убрав при этом конечный пункт, а именно сам товар?

Я вырезал вот это:

else { ?><font color="#FF0000"><?php echo $breadcrumb['text']; ?></font><?php }

из вашего кода.

Поделиться сообщением


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

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

  • +1 2

Поделиться сообщением


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

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

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

Поделиться сообщением


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

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

Не поделитесь кодом для категорий? Буду очень благодарен.

Поделиться сообщением


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

все аналогично


<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>

  • +1 3

Поделиться сообщением


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

все аналогично


<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>

Да, да. Я так и сделал. :-)

  • +1 1

Поделиться сообщением


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

Спасибо большое! То что нужно! :)

Поделиться сообщением


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

зайдите в product.tpl

найдите в самом начале файла этот кусок:

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

и замените на

<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 { ?><font color="#FF0000"><?php echo $breadcrumb['text']; ?></font><?php } ?>
	<?php } ?>
 </div>

Этим вы сразу сделаете 2 полезные вещи:

1) активная ссылка выделяется другим цветом

2) уберете ссылку страницы на саму себя, что в свою очередь сократит шансы попасть под бан гугла

По аналогичной схеме нужно сделать в категориях и других страницах на которых у вас есть хлебные крошки

Здравствуйте!

Не получается применить Ваш метод.

Выдает ошибку 500

Opencart 1.5.3.1 + shoppica2

Поделиться сообщением


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

Не получается применить Ваш метод.

Выдает ошибку 500

Opencart 1.5.3.1 + shoppica2

1.5.3.1 (правда не под шопикой) работает отлично, проверьте то ли и там ли меняете

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  <ul class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
    <?php } ?>
  </ul>
 

а если у меня такой код в product.tpl

Поделиться сообщением


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

все аналогично


<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>

 

Спасибо большое, все работает ! :-)

Поделиться сообщением


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

столкнулся с проблемой, в общем в хлебных крошках когда я в категориях выводится правильный путь (Главная/Категория/Под категория), но когда я захожу в товар "Под категория" исчезает, остается путь вида: (Главная/Категория/Товар), в product.tpl заменил код на код Энштейна при этом в одной из под категорий все заработало как надо, но в других попрежнему таже история, не пойму в чем дело, может кто сталкивался с этим и исправлял? При чем при выключеном ЧПУ, хлебные крошки отображают все как надо. Спасибо.

Поделиться сообщением


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

столкнулся с проблемой, в общем в хлебных крошках когда я в категориях выводится правильный путь (Главная/Категория/Под категория), но когда я захожу в товар "Под категория" исчезает, остается путь вида: (Главная/Категория/Товар), в product.tpl заменил код на код Энштейна при этом в одной из под категорий все заработало как надо, но в других попрежнему таже история, не пойму в чем дело, может кто сталкивался с этим и исправлял? При чем при выключеном ЧПУ, хлебные крошки отображают все как надо. Спасибо.

Посмотрите в Админке: Товары-(изменить)-Связи. Пункт Категория: У Вас может выбран путь без ПодКатегорий.

Поделиться сообщением


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

столкнулся с проблемой, в общем в хлебных крошках когда я в категориях выводится правильный путь (Главная/Категория/Под категория), но когда я захожу в товар "Под категория" исчезает, остается путь вида: (Главная/Категория/Товар), в product.tpl заменил код на код Энштейна при этом в одной из под категорий все заработало как надо, но в других попрежнему таже история, не пойму в чем дело, может кто сталкивался с этим и исправлял? При чем при выключеном ЧПУ, хлебные крошки отображают все как надо. Спасибо.

Посмотрите в Админке: Товары-(изменить)-Связи. Пункт Категория: У Вас может выбран путь без ПодКатегорий.

нет, все выставлено как надо, пока проблему не решил...

Поделиться сообщением


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

все аналогично


<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>

а как сделать  размер по  меньше?

Поделиться сообщением


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

Простите, что влезаю, но есть вопрос не совсем по теме, но по обсуждаемому вопросу.

Тут озвучена проблема, что ссылка страницы на саму себя может привести к бану. Но ведь этот функционал заложен по умолчанию. Неужели разработчики этого не знают? И второе, при применении микроразметки на эту ссылку ставится свой тег, указывающий что эта ссылка именно на эту страницу. Гугл ее в валидаторе корректно отображает. Так за что бан?

Поделиться сообщением


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

а как убрать автоматически проставляющуюся типографскую кавычку » (»)  из хлебных крошек? 

Поделиться сообщением


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

а как убрать автоматически проставляющуюся типографскую кавычку » (»)  из хлебных крошек? 

 только на минусы щедрые, господа зажравшиеся программисты  :lol:

Поделиться сообщением


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

catalog/language/russian/russian.php

 

$_['text_separator'] = 'чтоугодно';
 

Поделиться сообщением


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

У меня сработал такой код:

 

<?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 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>

Все классно... Не оптимально.. Правда на это можно плюнуть, всего до 6 итераций ... ну разве у кого больше? только вот не совсем читабельно и логично

<div class="breadcrumb">
<?php $count=count($breadcrumbs)-1; foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
<?php echo $breadcrumb['separator']; ?><?php if($i<$count) { ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?>
<?php } ?>
</div>

Поделиться сообщением


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

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

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

 

  <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 } ?>

        <?php } ?>

  </div>

 

 

Ещё видел на сайте каком то перед хлебными крошками стоит фраза "Вы находитесь" , как можно такое добавить?

 

Заранее благодарю за помощь!

Поделиться сообщением


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

Немного эстетичности

<div class="breadcrumb">
  <?php foreach ($breadcrumbs as $breadcrumb): ?>
  <?php echo $breadcrumb['separator']; ?>
  <?php if ($breadcrumb == end($breadcrumbs)): ?>
  <?php echo $breadcrumb['text']; ?>
  <?php else: ?>
  <a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
  <?php endif; ?>
  <?php endforeach; ?>
</div>

Последний элемент выводится обычным текстом.

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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