[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Текущее местоположение юзера
McLotos
Здравствуйте!
Хочу сделать что-то типа того что сделано здесь на форуме, т.е. когда юзер путешествует по форуму вверху специальная строка показывает где он нахогдится, подскажите как это можно сделать самому, ну т.е. вообще как это реализовывать, через REQUEST_URI? Или может есть какой-то другой способ?
На сколько я смог заметить здесь это сделано немного по-другому, т.е. берутся значения переменных из get и в зависимости от них выстравивается нужная строка. Так, или может я ошибаюсь?



Спустя 55 минут, 23 секунды (10.10.2011 - 11:08) Draftpad написал(а):
Смотришь в каком форуме находится пользователь, поднимаешься пошагово на категорию вверх, например, смотря на значение parent_id в базе, выводишь данные на экран.

Пример из phpbb3
$forum_parents = get_forum_parents($forum_data);

// Build navigation links
if (!empty($forum_parents))
{
foreach ($forum_parents as $parent_forum_id => $parent_data)
{
list($parent_name, $parent_type) = array_values($parent_data);

// Skip this parent if the user does not have the permission to view it
if (!$auth->acl_get('f_list', $parent_forum_id))
{
continue;
}

$template->assign_block_vars('navlinks', array(
'S_IS_CAT' => ($parent_type == FORUM_CAT) ? true : false,
'S_IS_LINK' => ($parent_type == FORUM_LINK) ? true : false,
'S_IS_POST' => ($parent_type == FORUM_POST) ? true : false,
'FORUM_NAME' => $parent_name,
'FORUM_ID' => $parent_forum_id,
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $parent_forum_id))
);

}
}


В шаблонизаторе это чудо выводится, как:
<!-- BEGIN navlinks --> <b></b> <a href="{navlinks.U_VIEW_FORUM}">{navlinks.FORUM_NAME}</a><!-- END navlinks -->

Спустя 9 минут, 45 секунд (10.10.2011 - 11:18) McLotos написал(а):
Да, но я не работаю с шаблонизатором, я пишу всё сам, поэтому хотелось бы понять именно логику. Откуда берётся первоначальное значение, как делается привязка текущей локации к её родительской и т.д. Ну т.е. сначала нужно спроектировать своего рода карту сайта, а патом уже исходя из результата пробовать сделать что-то похожее на такую строку местоположения. Хотя вообще планируется что она будет как в Win7, т.е. чтобы можно было из любой локации уйти в любую другую.

Спустя 4 минуты, 33 секунды (10.10.2011 - 11:23) sharki написал(а):
McLotos
При каждом переходе по ссылке, добавляешь её название и адрес в конец сессии, потом формируешь некий путь для отображения (в виде стрелочек с текстом например) при щелчке по данной ссылке ты определяешь на какую позицию перешел юзер, и удаляешь из массива всю коллекцию ссылок которая находится выше по стэку и пересобираешь массив, вообщем ничего сложного smile.gif Подумай

Спустя 1 час, 20 минут, 47 секунд (10.10.2011 - 12:44) McLotos написал(а):
=)
спс sharki
надо будет над этим подумать =)

Спустя 34 минуты, 37 секунд (10.10.2011 - 13:18) imbalance_hero написал(а):
McLotos
Достаточно из $_GET формировать страницу.
"Форум PHP программистов ► PHP практикум ► PHP общие вопросы "
Первый никогда не меняется, 2 других берутся после того, как загрузится из БД данная тема, тема ведь уже принадлежит разделам, а потом просто выведутся сначала разделы, а потом уже тема.

Вот такое условие для разделов и подразделов форума, если независимые страницы, то ничего не мешает сделать небольшое сравнение, типо
if($_GET['page'] == 'main') {сейчас на главной}

Спустя 30 минут, 18 секунд (10.10.2011 - 13:48) Zerstoren написал(а):
Вам по всей видимости нужны именно "Хлебные крошки"
Способов их реализовать тьма тьмущая, все зависит от вашей системы.

Единое, что я могу - это дать вам класс который их формирует.

По сути давать советы по реализацию - это тыкать пальцем в небо.

А о принципе реализации хлебных крошек можно прочитать в инете. Статей тьма тьмущая.

Спустя 14 минут, 49 секунд (10.10.2011 - 14:03) Draftpad написал(а):
Цитата
Да, но я не работаю с шаблонизатором, я пишу всё сам, поэтому хотелось бы понять именно логику. Откуда берётся первоначальное значение, как делается привязка текущей локации к её родительской и т.д. Ну т.е. сначала нужно спроектировать своего рода карту сайта, а патом уже исходя из результата пробовать сделать что-то похожее на такую строку местоположения. Хотя вообще планируется что она будет как в Win7, т.е. чтобы можно было из любой локации уйти в любую другую.


Ну не работаете с шаблонизатором, ради бога. Что не понятно то?
Пользователь находится в теме, из базы берётся сразу же информация о том, к какому форуму\подфоруму привязана эта тема, потом по идентификатору форума\подфорума смотрите в бд ячейку parent_id, ищите в базе родительский форум, всё это складываете в одну переменную и выводите её. Не нужно извращаться с передачей, каких-либо параметров, это извращение и прямой путь к говнокоду.


_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.