PHP класс для хлебных крошек

PHP класс для хлебных крошек

Статический класс для формирования и вывода хлебных крошек с разметкой Shema.org.

<?php
class Breadcrumb
{
	private static $_items = array();

	public static function add($url, $name)
	{
		self::$_items[] = array($url, $name);
	}

	public static function out()
	{
		$res = '<div class="breadcrumb" itemscope="" itemtype="http://schema.org/BreadcrumbList" id="breadcrumbs">
			<span itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
				<a href="/" itemprop="item">
					Главная
					<meta itemprop="name" content="Главная">
				</a>
				<meta itemprop="position" content="1">
			</span>';

		$i = 1;
		foreach (self::$_items as $row) {
			$res .= '<span class="breadcrumb_item" itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
				<a href="' . $row[0] . '" itemprop="item">
					' . $row[1] . '
					<meta itemprop="name" content="' . $row[1] . '">
				</a>
				<meta itemprop="position" content="' . ++$i . '">
			</span>';
		}
		$res .= '</div>';

		return $res;
	}
}
PHP

Использование:

Breadcrumb::add('/category/', 'Категория');
Breadcrumb::add('/category/article', 'Статья');
echo Breadcrumb::out();
PHP

CSS-стили:

.breadcrumb {
	padding: 0;
	margin: 20px;    
}
.breadcrumb a {
	display: inline-block;
	font-size: 15px;
	vertical-align: top;
}
.breadcrumb_item:before {
content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 7px 4px;
	vertical-align: top;
	background: #666;
	border-radius: 50%;
} 
CSS

Результат:

26.09.2019, обновлено 16.12.2020
6131

Комментарии

, чтобы добавить комментарий.

Другие публикации

Очистка данных из форм в PHP
Для предотвращения XSS, SQL-инъекций и других атак, данные полученные из форм нужно чистить. Простое экранирования кавычек не достаточно, нужен комплексный подход по типу данных.
11748
+6
Календарь на PHP
PHP-класс для вывода календаря на месяц, год или любой другой интервал с возможностью выделить отдельные даты и вывести к ним подсказки.
31097
+10
Обзор PHP расширений для чтения файлов Excel
В статье представлены различные PHP-расширения для чтения файлов XLS, XLSX, описаны их плюсы и минусы, а также примеры...
56906
+2
Генерация счета на оплату PDF PHP
С помощью расширения dompdf можно легко сформировать PDF файл. По сути, dompdf - это конвертер HTML в PDF который...
66074
+33
Постраничный вывод и базы данных
В SQL запросах, для ограничения количества строк в результате используется инструкция LIMIT, например следующий вернёт...
17149
0
Рекомендации по SEO настройке сайта
Сборник рекомендаций по настройке сайта помогающий исключить проблемы при индексировании поисковыми системами.
8942
+5