Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Как сделать хлебные крошки на php?

#php #mysql


Здравствуйте! У меня сайт на базе mysql. Интересует Как сделать хлебные крошки на
php(типа такого: Главная>Новости>Погода...и т.д.)?
В инете много таких крошек для cms, а у меня самописный сайт. Буду рад любой помощи.
Спасибо.    


Ответы

Ответ 1



Как-то делал давно. Обработчик крошек: function navigation() { $arg_list = func_get_args(); $numargs = func_num_args(); $str = ''; for ($i = 0; $i < $numargs; $i++) { $str .= ($arg_list[$i][1] ? ($arg_list[$i][0] ? '' . $arg_list[$i][1] . '' : $arg_list[$i][1] ) . ($numargs - 1 > $i && $arg_list[$i][0] ? '' : '' ) : '' ); } return $str; } Использование: echo navigation( array('/', 'Главная'), array('/old', 'Чуток ниже'), array('/old-s', 'И еще чуток ниже') ); Результат: ГлавнаяЧуток нижеИ еще чуток ниже Естественно HTML-код можно изменить как нужно. Да, функция кривая и бла бла бла. Еще Месси 5 голов забил, ага.

Ответ 2



Делал когда-то используя Nested Sets. Преимущество - не надо у каждого родителя спрашивать родителя или таскать за собой всю связку id-шников, а только зная 1 id получай всю ветку разом

Ответ 3



//Определяем переменную parent_id $parent_id = isset($_GET['parent_id']) ? $_GET['parent_id'] : null; function breadcrumb($cat, $parent_idid){ //Проверяем что parent_ID это число if(!intval($parent_idid)) return false; //Создаем пустой массив $brc = array(); //Перебираем полученый массив с меню for($i = 0; $i < count($cat); $i++){ //Проверяем что мы не нашли родителя и не массив пуст if($parent_id != 0 and !empty($cat[$parent_id])){ //Ищем родителя $brc[$cat[$id]['parent_id']] = $cat[$parent_id]['title']; $parent_id = $cat[$parent_id]['parent']; } //Останавливаем цикл else break; } //Возвращаем перевернутый массив с сохранением ключей return array_reverse($brc, true); }

Комментариев нет:

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