Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Привет всем, ребят. Столкнулся с такой проблемой. На каждой странице не удобно постоянно писать ссылки для возвращения на предыдущие страницы. Поэтому хотелось бы автоматизировать данный момент. В гугле подобной информации не нашёл, либо плохо искал...на форуме тут тоже...прошу о помощи.
Нужно типа:
Я на главной. Перешёл в чат, и появилась ссылка "На главную". Дальше я перешёл в комнату Спорт, и у меня уже 2 ссылки "На главную > Комнаты чата". Дальше я перешёл по ссылке добавления сообщений, и у меня уже 3 ссылки: "На главную > Комнаты чата > Спорт".
Ну думаю понятно...через реферер не вариант делать, т.к. не все браузеры его отправляют...что довольно плохо...был ещё вариант писать на каждом сайте переменную, заносить в БД, либо в куки, и выводить...но это не вариант тоже, т.к. объём был бы большой...
Подскажите оптимальную идею...пожалуйста!
Самогонщик
Отправлено: 25 Января, 2012 - 12:12:00
Посетитель
Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011
Помог: 8 раз(а)
Гугли "хлебные крошки".
n1k86
Отправлено: 25 Января, 2012 - 12:12:45
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Спасибо))) Сейчас почитаем!))
Zuldek
Отправлено: 25 Января, 2012 - 12:12:56
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Искали очень плохо.
реализуется через построение древовидной архитектуры сайта, когда в бд хранится родительский раздел для каждой страницы. Если хотите сделать не обозначение иерархии а отслеживать с какой страницы на какую перешли независимо от их иерархии то передавайте id страницы при каждом переходе, записывая их в сессию или через GET. Имея id выстраивайте ссылку на эту страницу в ваших хлебных крошках.
n1k86
Отправлено: 25 Января, 2012 - 12:22:36
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Почитал, почитал. Хлебные крошки эти самые, идут для wp. а в wp чего только не напихано в код. я пишу без ооп и смарти. поэтому мне трудно разобрать то что там. мне нужно решение для обычной процедурке...
Zuldek
Отправлено: 25 Января, 2012 - 12:26:14
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
n1k86 пишет:
Почитал, почитал. Хлебные крошки эти самые, идут для wp. а в wp чего только не напихано в код. я пишу без ооп и смарти. поэтому мне трудно разобрать то что там. мне нужно решение для обычной процедурке...
хлебные крошки это общее сленговое, если хотите, наименование для навигационных строчек вида "главная>страница1>страница2>страница3".
Как это реализуется я написал, ооп и шаблонизатор тут непричем.
n1k86
Отправлено: 25 Января, 2012 - 12:27:10
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Передача гет-запроса это извращение. Ладно, пойду ещё пороюсь. Может чего ещё узнаю.
armancho7777777
Отправлено: 25 Января, 2012 - 12:33:43
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Думаю, разобрав $_SERVER['REQUEST_URI'] можно добиться того же результата.
Вот грубый пример без проверок:
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
$_SERVER['REQUEST_URI'] можно, но опять же придёться делать большую таблицу значений в базе для каждого файла. А это разве норм? Нет. Нужно что-то простое...но вот как реализовать не могу понять...в интернете уже кучу информации просмотрел...всё основывается на создании таблицы, но это очень жестко, т.к. получается каждый раз нужно вносить значения в бд о новом файле. Разве это норм? Я считаю, что нет.
Zuldek
Отправлено: 25 Января, 2012 - 12:52:30
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
n1k86 пишет:
$_SERVER['REQUEST_URI'] можно, но опять же придёться делать большую таблицу значений в базе для каждого файла. А это разве норм? Нет. Нужно что-то простое...но вот как реализовать не могу понять...в интернете уже кучу информации просмотрел...всё основывается на создании таблицы, но это очень жестко, т.к. получается каждый раз нужно вносить значения в бд о новом файле. Разве это норм? Я считаю, что нет.
Вам так или иначе придется вносить эти значения. Отличии в вариантах реализации лишь в том где вы их будете хранить - в базе данных, в сессии, либо передавать со страницы на страницу get/post/request.
в 90% проектов это реализуется с хранением связей разделов в бд. сложного в этом ничего нет.
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
n1k86 пишет:
но опять же придёться делать большую таблицу значений в базе для каждого файла. А это разве норм?
Кто Вам такое сказал???))
Тоже не любим лёгких путей?))
Не надо ничего никуда записывать и хранить блин.
Адресная строка всега под рукой.
После перехода на страницу вытаскиваете нужные Вам значения из строки, и всего лишь.
n1k86
Отправлено: 25 Января, 2012 - 12:58:27
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Сейчас распишу что я надумал. А вы поправьте, пожалуйста!
armancho7777777
Отправлено: 25 Января, 2012 - 13:00:23
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Если адресная строка такого вида: http://forum.php.su/раздел1/разд...л1.2/раздел1.2.1
Вы не сможете реализовать то, что Вам надо имнно тем спосабом, что я Вам предложил???)))
Готовые хлебные крошки уже в ней.
Видно же какой раздел после какого идет, и с какого перешёл посетитель.
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Допустим мы берём базу данных MySQL. Я создаю табличку...с id, url, title, где:
id - просто инкремент;
value - значение из адресной строки;
title - текст, который выводим;
url - ссылка;
Теперь мне нужно занести все родительские папочки и на что их заменять. Как правило, можно же брать прям из заголовка текст, который мы будем выводить, так? Допустим, заносим в таблицу значение, где:
id = 1;
value = chat;
title = Чат;
url = /chat/;
Теперь, ну будем работать через $_SERVER['REQUEST_URI'], например...
Я получаю из $_SERVER['REQUEST_URI'] например текст такого вида:
/chat/index.php
Обрабатываю этот текст, чтобы получить именно родительский текст chat.
После получания, ищу в таблице такой value, выбираю его значение title и url. Далее вывожу его значение как ссылку, вида:
<a href='$url'>$title</a>
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
armancho7777777 пишет:
Если адресная строка такого вида: http://forum.php.su/раздел1/разд...л1.2/раздел1.2.1
Вы не сможете реализовать то, что Вам надо имнно тем спосабом, что я Вам предложил???)))
Готовые хлебные крошки уже в ней.
Видно же какой раздел после какого идет, и с какого перешёл посетитель.
Автор указал, что ему нужно выводить в навигационной строке не иерархию ссылок на страниц, но историю переходов. Главная>чат>написать может быть не равносильно главная/чат/написать. Историю переходов надо где-то хранить. об этом и речь.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.