Главная » Хаки DLE » Хак Хлебные крошки в DLE

Хак Хлебные крошки в DLE

  • Хаки DLE

Хак Хлебные крошки в DLE

Модификация speedbar-а DLE от АлаичЪ-а по версии schema.org с помощью микроданных или RDFa, которая позволит получить красивый и полезный модуль "хлебных крошек" Breadcrumb.

Перед началом работы с кодом автор предлагает посмотреть, что из этого получится.

Вот как это было, до правки кода:
Хак Хлебные крошки в DLE


А вот то, что получилось в итоге:
Хак Хлебные крошки в DLE


Микроразметка хлебных крошек в DLE по версии schema.org:

Открываем /engine/engine.php
Находим:
$s_navigation = "<a href=\"{$config['http_home_url']}\">" . $config['short_title'] . "</a>";


Заменяем:
$s_navigation = "<span typeof=\"v:Breadcrumb\"><a href=\"{$config['http_home_url']}\" rel=\"v:url\" property=\"v:title\">" . $config['short_title'] . "</a></span>";


Находим:
$tpl->set ( '{speedbar}', '<span id=\'dle-speedbar\'>' . stripslashes ( $s_navigation ) . '</span>' );


Заменяем:
$tpl->set ( '{speedbar}', '<span id="dle-speedbar" xmlns:v="http://rdf.data-vocabulary.org/#">' . stripslashes ( $s_navigation ) . '</span>' );


Далее открываем /engine/modules/functions.php
Находим:
if( $config['allow_alt_url'] == "yes" ) $list = "<a href=\"" . $config['http_home_url'] . get_url( $id ) . "\">{$cat_info[$id]['name']}</a>";


Заменяем:
if( $config['allow_alt_url'] == "yes" ) $list = "<span typeof=\"v:Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\" rel=\"v:url\" property=\"v:title\">{$cat_info[$id]['name']}</a></span>";


Находим:
if( $config['allow_alt_url'] == "yes" ) $list = "<a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "\">{$cat_info[$parent_id]['name']}</a>" . " &raquo; " . $list;


Заменяем:
if( $config['allow_alt_url'] == "yes" ) $list = "<span typeof=\"v:Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "/\" rel=\"v:url\" property=\"v:title\">{$cat_info[$parent_id]['name']}</a></span>" . " &raquo; " . $list;


Ну вот и все! Осталось только убедиться, что все верно и все работает — воспользуйтесь валидатором микроразметки от Google.

А также дополнительную информацию о данной микроразметке можно прочитать в мануалах Гугла.

Еще есть небольшая поправка. АличЪ считает, что нет необходимости в хлебных крошках дублировать название текущей новости. Ведь и так понятно, где мы сейчас находимся и какую новость просматриваем. Если вы согласны с автором, тогда надо проделать следующее:

Найти:
} elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;
if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;


Заменить:
}


Теперь точно все.

И ещё нужно учесть, что при выводе категории новости в анонсе, используется тот же алгоритм формирования ссылок, что и в нашей модификации. То есть сюда подключается размеченная микрокодом функция. Выхода тут два. В шаблоне темы shortstory.tpl найти и заменить {link-category} на {category} или вовсе удалить тег {link-category}.
Если выводите категорию при просмотре полной новости, то необходимо проделать тоже самое и для fulltstory.tpl.

Микроразметка хлебных крошек для тегов:
Файл engine/engine.php
найти:
if ($config['allow_alt_url'] == "yes") $s_navigation .= " &raquo; <a href=\"" . $config['http_home_url'] . "tags/\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;


Заменить на:
if ($config['allow_alt_url'] == "yes") $s_navigation .= " &raquo; <span typeof=\"v:Breadcrumb\"><a href=\"" . $config['http_home_url'] . "tags/\" rel=\"v:url\" property=\"v:title\">" . $lang['tag_cloud'] . "</a></span> &raquo; " . $tag;


Автор: АлаичЪ ака Александр Алаев

источник: alaev.info

Ключевые слова по теме Хак Хлебные крошки в DLE: АлаичЪ, хак DLE, хлебные крошки, speedbar DLE, schema.org, сниппет, Алаев