На время проведения реконструкции сайт переведён в режим "ТОЛЬКО ЧТЕНИЕ" (Read only). Приносим свои извинения!
MaxHub
Полезности по Maxsite CMS

Плагин breadcrumbs - «хлебные крошки»

Плагины » Карты сайта / 14 августа 2014

Плагин нужен для удобной организации «хлебных крошек» - навигационных цепочек гипертекстовых ссылок, представляющих собой путь по сайту от его «главной страницы» до текущей страницы, на которой находится пользователь. Кроме помощи в навигации посетителей хлебные крошки также используются как инструмент улучшения сниппетов сайта в поисковых системах.

Хлебные крошки в MaxSite CMS

Текущая версия плагина реализует следующий алгоритм формирования «хлебных крошек» на сайте:

  • если вызов функции произошёл на page-странице типа static и у неё нет прописанных рубрик, то будет произведена попытка вывести путь через «родительские страницы».
  • если page-страница имеет рубрики и тип отличен от static, то путь будет формироваться из ссылок на рубрики.
  • если вызов произошёл на странице категории (рубрики), то будет путь от «главной» и до текущей рубрики через родительские рубрики (если они есть).
  • явным образом игнорируются страницы вида - home и page_404.

Как подключить?

В справочном файле help.txt, который идёт вместе с плагином для работы рекомендуется вставит в ушку с именем content-start и типом php следующий код:

<?php
if( function_exists('breadcrumbs') ) echo breadcrumbs('<div class="breadcrumbs">','</div>');
?>

Но в таком виде может и не заработать вывод «крошек» - зависит от возможностей шаблона (есть ли в нужном месте шаблона вывод содержимого ушки с таким именем?). Если у вас именно такой случай, т.е. «не сработало», то можете попробовать подключить иначе - разместить предлагаемый код в файлах папки type_foreach (например, в info-page.php) или в файлы папки custom (например, в content-start.php) вашего используемого шаблона. Однако предварительно надо убедиться, что в вашем шаблоне есть соответствующее подключение требуемого файла в нужном месте страницы (иначе способ тоже может не сработать) и, возможно, продублировать часть кода шаблона в используемый файл (особенно актуально для случая использования type_foreach-файла).

Если указанная ушка и файлы в шаблоне не задействованы, то имеет смысл задуматься о внесении правок в файл main.php вашего шаблона. Найдите в файле /main/main.php defaulte-шаблона строчку с кодом:

if (function_exists('ushka')) echo ushka('content-start');

Вам нужно этот код вставить в main.php-файл вашего шаблона. Место вставки - найдите сами (по аналогии).

Как самый крайний вариант - вы можете внести правки (вставить предлагаемый код в нужном вам месте расположения крошек) в type-файлы вашего шаблона.

Кастомизация вывода хлебных крошек

Т.к. вызов вывода хлебных крошек сейчас осуществляется через «ручной» вызов функции плагина breadcrumbs, а у неё есть параметры, то можно этим воспользоваться и добиться вывода ссылок в нужном виде. Итак, функция принимает следующие параметры (порядок именно такой):

  • $do - задаёт текстовую строку, которая будет выводиться в начале блока. По-умолчанию, задаётся пустая строка. Нужно использовать для задания div блока с определённым css-классом, для последующего прописывания css-стилей.
  • $posle - задаёт текстовую строку, которая будет выводиться в конце блока ссылок. По-умолчанию, задаётся пустая строка. Нужно использовать для задания закрывающего /div блока, который задан в $do.
  • $simple - указывает на необходимость оформления крошек в видео ссылок или простого текста. Принимает значения: true - выводить простой текст, false - выводить ссылки на крошки.
  • $ch - разделитель между крошками. По-умолчанию используется символ ». Для задания своего разделителя передайте в параметр строку. Можно использовать коды html-мнемоник или задать любой html-код, например, подключить <img>.
  • $last - указывает на необходимость выводить последнюю крошку в виде ссылки. Принимает значения: true - делать ссылку, false - выводить простым текстом.
  • $main - название для корневого узла навигационного пути. По-умолчанию, имеет значение «Главная».

Пример задания своих настроек (div-блок с классом breadcrumbs, с разделителем в виде стрелочки , с выводом крошек в виде ссылок, последний узел в виде текста, корневым узлом «Home»):

if( function_exists('breadcrumbs') ) echo breadcrumbs('<div class="breadcrumbs">', '</div>', false, ' &#8608; ', false, 'Home');

Если нужно использовать значения по-умолчанию, то можно не указывать (опустить) значение. Пример такого использования можно видеть в разделе «Как подключить?»

Скачать:

Автор: shuriks

Текущая версия плагина: 1.1 (стабильно работает на cms 0.862)

breadcrumbs_1_1.zip3

ToDo

Плагин отчаянно нуждается в доработке и обновлении. В частности, требуется реализовать следующие возможности:

  1. Страница опций - чтобы можно было явно указывать заголовки для неизвестных типов страниц.
  2. Микроразметка - сейчас ничего такого в плагине нет и в помине. Но для лучшего представления для поисковых систем желательно внедрить хотя бы рекомендации Яндекса82.
  3. Заготовки стилей в custom.css - чтобы пользователи плагина со старта могли иметь красивое оформление хлебных крошек или же задать своё собственное.

Также в комментариях можно высказать свои предложения и идеи по плагину. Заранее спасибо!

ЗЫ

Название «Хлебные крошки» является иронической отсылкой к немецкой сказке «Гензель и Гретель», в которой дети, когда их завели в лес во второй раз, не смогли найти обратную дорогу, так как на этот раз вместо маленьких камешков они оставляли за собой хлебные крошки, впоследствии склёванные лесными птицами. © Википедия0
Комментариев: 9
  1. <ul class="bloklink">
    <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://web-modern.net/" class="tooltip" title="Главная сайта" itemprop="url"><span itemprop="title">Главная »</span></a></li>
    <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://web-modern.net/blog/" class="tooltip" title="Рубрики блога" itemprop="url"><span itemprop="title">Блог  »</span></a></li>
    <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://web-modern.net/blog/rubric.php?r=3" class="tooltip" title="Рубрика: Seo Поисковая оптимизация" itemprop="url"><span itemprop="title">Seo Поисковая оптимизация »</span></a></li>
    <li><b>.htaccess редирект 301 для seo.</b></li>
    </ul>
    Самый адекватный подход при микроразметке. Гоша и Яша одобрили.
  2. Спасибо, Жека. Видел такое, пока писал описание. Но теперь проблема в том, чтобы доработать плагин и внедрить присланный тобой код в него. Мне пока некогда.

  3. Илья ток из кода нужно class="tooltip" удалить нужно, это мой личный див.

    А проверять советую вот тут: http://www.google.com/webmasters/tools/richsnippets

  4. Не работает в версии 0.93. Подскажите пожалуйста, есть ли решение запустить?

  5. Александр, как это не . У меня сайт на ms 0.93 и все работает.

  6. Вроде сделал все по инструкции. Не появился не в меню Плагинов, не на сайте. Что сделал не так?

  7. Протупил. Простите.Пробую на LAMP, разрешение на папку breadcrumbs выставил, заработал.

  8. Parse error: syntax error, unexpected '-', expecting '(' in ..maxsite\plugins\ushki_to_hook\index.php(144) : eval()'d code on line 1

    как эта проблема решается? не могли бы хотя в картинках объяснить процесс установки?

  9. Parse error: syntax error, unexpected '-', expecting '(' in ..maxsite\plugins\ushki_to_hook\index.php(144) : eval()'d code on line 1
    как эта проблема решается?

    Чтобы решить проблему нужно понять какой код и куда вы вставляли для внедрения хлебных крошек. Очевидно сделали это не совсем верно.

    не могли бы хотя в картинках объяснить процесс установки?

    Увы, но лично мне пока некогда делать такие мануалы :( Хотя сам процесс установки описан выше и по идее проблем не должен вызывать, если следовать описанию.