Хак Хлебные крошки в DLE
- Хаки DLE
Модификация speedbar-а DLE от АлаичЪ-а по версии schema.org с помощью микроданных или RDFa, которая позволит получить красивый и полезный модуль "хлебных крошек" Breadcrumb.
Перед началом работы с кодом автор предлагает посмотреть, что из этого получится.
Вот как это было, до правки кода:
А вот то, что получилось в итоге:
Микроразметка хлебных крошек в 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>" . " » " . $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>" . " » " . $list;
Ну вот и все! Осталось только убедиться, что все верно и все работает — воспользуйтесь валидатором микроразметки от Google.
А также дополнительную информацию о данной микроразметке можно прочитать в мануалах Гугла.
Еще есть небольшая поправка. АличЪ считает, что нет необходимости в хлебных крошках дублировать название текущей новости. Ведь и так понятно, где мы сейчас находимся и какую новость просматриваем. Если вы согласны с автором, тогда надо проделать следующее:
Найти:
} elseif ($nam_e) $s_navigation .= " » " . $nam_e;
if ($titl_e) $s_navigation .= " » " . $titl_e;
Заменить:
}
Теперь точно все.
И ещё нужно учесть, что при выводе категории новости в анонсе, используется тот же алгоритм формирования ссылок, что и в нашей модификации. То есть сюда подключается размеченная микрокодом функция. Выхода тут два. В шаблоне темы shortstory.tpl найти и заменить {link-category} на {category} или вовсе удалить тег {link-category}.
Если выводите категорию при просмотре полной новости, то необходимо проделать тоже самое и для fulltstory.tpl.
Микроразметка хлебных крошек для тегов:
Файл engine/engine.php
найти:
if ($config['allow_alt_url'] == "yes") $s_navigation .= " » <a href=\"" . $config['http_home_url'] . "tags/\">" . $lang['tag_cloud'] . "</a> » " . $tag;
Заменить на:
if ($config['allow_alt_url'] == "yes") $s_navigation .= " » <span typeof=\"v:Breadcrumb\"><a href=\"" . $config['http_home_url'] . "tags/\" rel=\"v:url\" property=\"v:title\">" . $lang['tag_cloud'] . "</a></span> » " . $tag;
Автор: АлаичЪ ака Александр Алаев
источник: alaev.info
Ключевые слова по теме Хак Хлебные крошки в DLE: АлаичЪ, хак DLE, хлебные крошки, speedbar DLE, schema.org, сниппет, Алаев