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)

Контент только для авторизованных - хотите войти или зарегистрироваться?

ToDo

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

  1. Страница опций - чтобы можно было явно указывать заголовки для неизвестных типов страниц.
  2. Микроразметка - сейчас ничего такого в плагине нет и в помине. Но для лучшего представления для поисковых систем желательно внедрить хотя бы рекомендации Яндекса27.
  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
    как эта проблема решается?

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

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

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

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Вход / регистрация или войти без комментирования
  Имя и сайт используются только при регистрации

Авторизация MaxSiteAuth. Войти через loginza

(обязательно)