Организация навигации на сайте...
Народ!Подскажите как лучше устроить навигацию на сайте :? .
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
vitpanov,
Во-первых, навигация должна быть "user friendly". То есть поставь себя на место пользователя и подумай, где бы ты хотел её видеть, и как тебе было бы удобнее "проходить" по своему сайту.
Во-вторых, навигация - это меню, насколько я понимаю.
Пихаешь его слева, справа, или вверху от основного контента (куда лучше - посмотри по дизайну).
Дальше, в каждом пункте меню должно быть максимум 6-7 подпунктов (это касается и верхнего уровня),
поскольку среднестатический человек не воспринимает больше информации одновременно.
Ну а техническая сторона ...
1. Делаешь меню статическим (HTML)
2. Делаешь меню динамическим (JavaScript)
+. Можешь хранить пунткы в файле или в БД, и формировать меню при помощи PHP (тогда его проще будет редактировать)
Что именно ТЕБЕ надо, - тебе решать.
Какой уровень сложности тебе нужен, на что хватит твоих знаний/умений, насколько это подходит к остальным частям сайта и т.д.
Во-первых, навигация должна быть "user friendly". То есть поставь себя на место пользователя и подумай, где бы ты хотел её видеть, и как тебе было бы удобнее "проходить" по своему сайту.
Во-вторых, навигация - это меню, насколько я понимаю.
Пихаешь его слева, справа, или вверху от основного контента (куда лучше - посмотри по дизайну).
Дальше, в каждом пункте меню должно быть максимум 6-7 подпунктов (это касается и верхнего уровня),
поскольку среднестатический человек не воспринимает больше информации одновременно.
Ну а техническая сторона ...
1. Делаешь меню статическим (HTML)
2. Делаешь меню динамическим (JavaScript)
+. Можешь хранить пунткы в файле или в БД, и формировать меню при помощи PHP (тогда его проще будет редактировать)
Что именно ТЕБЕ надо, - тебе решать.
Какой уровень сложности тебе нужен, на что хватит твоих знаний/умений, насколько это подходит к остальным частям сайта и т.д.
Мой метод с навигацией это
Это не совсем удобно что можно заменить на более удобный :?:
Видел типа index.php?x=index2
где dir-директория, а page-номер txt файла...index.php?dir=DIRECTORY&page=1
Это не совсем удобно что можно заменить на более удобный :?:
Видел типа index.php?x=index2
Сомневаешься - не делай,
не сомневаешся - подумай!
не сомневаешся - подумай!
Oscar, объясни что эт такое...:!:
Сомневаешься - не делай,
не сомневаешся - подумай!
не сомневаешся - подумай!
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
vitpanov,
А где волшебное слово? :-)
Сайтостроение я учил на пальцах и не имею ни малейшего понятия, насколько "правильным" является то, что я делаю.
Я сделал три, похожих между собой, типа навигации.
1. http://www.pe.mw.tu-muenchen.de/index.php?inhalt=news
news - это поле в Базе Данных, с которым связан путь (директории/php_файл), который подключается (include) в index.php, а так же пункт меню, который становится активным
2. http://www.mw.tum.de/index.php?inhalt=3_2_1
Нужно было сделать быстро, и я обломался, и скинул все файлы в корневую директорию.
В index.php просто инклудится файл 3_2_1.php
Ненадёжно? Кто сломает - расскажите, как.
Во время инклуда я проверяю, существует ли файл на сервере, потому сделать include('http://server/HACKpage.php') - не возможно.
Кроме того, я добавляю к переменной $_GET['inhalt'] окончание ".php", то есть другие файлы с сервера показать нельзя!
3. http://www.sus-n.org/newweb/?p=2.1
(из недоделаного, в процессе, так сказать)
p - сокращение от page, на самом деле это уровни в меню
$level1 = 2
$level2 = 1
$level3 = 0
По этим уровням (опять же из БД) вытягивается содержание.
Поскольку страницу оОочень хотят видеть с контент-менеджментом, "XXX.txt" или "XXX.inc.php" файлов в этом случае нету и подавно.
Опять же таки:
По первому уровню активируется первый пункт меню (создаётся из БД),
по второму - второй (там же, учитывая, что выбрано первым) и настраивается содержание.
------
Кроме того. У меня всё как-то руки не доходили, но я знаю, что можно побалываться настройками сервера (у меня они - Апаче).
А точнее директивой "mod_rewrite".
И можно настроить его таким образом, чтобы адрес был:
http://www.sus-n.org/de/2.1/
или
http://www.sus-n.org/ua/3.1.2/
А файлы читались, как:
http://www.sus-n.org/index.php?lang=de&page=2.1
http://www.sus-n.org/index.php?lang=ua&page=3.1.2
А где волшебное слово? :-)
Сайтостроение я учил на пальцах и не имею ни малейшего понятия, насколько "правильным" является то, что я делаю.
Я сделал три, похожих между собой, типа навигации.
1. http://www.pe.mw.tu-muenchen.de/index.php?inhalt=news
news - это поле в Базе Данных, с которым связан путь (директории/php_файл), который подключается (include) в index.php, а так же пункт меню, который становится активным
2. http://www.mw.tum.de/index.php?inhalt=3_2_1
Нужно было сделать быстро, и я обломался, и скинул все файлы в корневую директорию.
В index.php просто инклудится файл 3_2_1.php
Ненадёжно? Кто сломает - расскажите, как.
Во время инклуда я проверяю, существует ли файл на сервере, потому сделать include('http://server/HACKpage.php') - не возможно.
Кроме того, я добавляю к переменной $_GET['inhalt'] окончание ".php", то есть другие файлы с сервера показать нельзя!
3. http://www.sus-n.org/newweb/?p=2.1
(из недоделаного, в процессе, так сказать)
p - сокращение от page, на самом деле это уровни в меню
$level1 = 2
$level2 = 1
$level3 = 0
По этим уровням (опять же из БД) вытягивается содержание.
Поскольку страницу оОочень хотят видеть с контент-менеджментом, "XXX.txt" или "XXX.inc.php" файлов в этом случае нету и подавно.
Опять же таки:
По первому уровню активируется первый пункт меню (создаётся из БД),
по второму - второй (там же, учитывая, что выбрано первым) и настраивается содержание.
------
Кроме того. У меня всё как-то руки не доходили, но я знаю, что можно побалываться настройками сервера (у меня они - Апаче).
А точнее директивой "mod_rewrite".
И можно настроить его таким образом, чтобы адрес был:
http://www.sus-n.org/de/2.1/
или
http://www.sus-n.org/ua/3.1.2/
А файлы читались, как:
http://www.sus-n.org/index.php?lang=de&page=2.1
http://www.sus-n.org/index.php?lang=ua&page=3.1.2
Можно просто на инклудах, каждый раз передавая в виде параметра, какой файл включать. В командной строке у тебя будет аоказываться всегда http://www.mysite.ru/index.php?actio=xxxxxxx , где ххххххх - параметр, по которому ты определяешь, какой файл инклудить.
Oscar, Вот что есть.
Ссылка index.php?janr=1 по этой ссылке переменной janr присваивается значение 1.
Ну и есть масса других похожих ссылок только различающихся конечной цифрой.
Как сделать такую вещь: чтобы опираясь на значение переменной $janr другой переменной присваивалось особое значение...
Ссылка index.php?janr=1 по этой ссылке переменной janr присваивается значение 1.
Ну и есть масса других похожих ссылок только различающихся конечной цифрой.
Как сделать такую вещь: чтобы опираясь на значение переменной $janr другой переменной присваивалось особое значение...
Сомневаешься - не делай,
не сомневаешся - подумай!
не сомневаешся - подумай!
-
- Сообщения: 23
- Зарегистрирован: 08 авг 2005, 12:27
- Откуда: Ростов-на-Дону
- Контактная информация:
Помогите новичку (в РНР) пожалуйста.
Хочется подключить меню в каждой странице. Чтобы при изменении инфы в меню - сделать это один раз в файле "menu.php"
Что есть на данный момент:
файл menu.php
пытаюсь подключить меню в файле Index_2.php:
Что я делаю не так?
Хочется подключить меню в каждой странице. Чтобы при изменении инфы в меню - сделать это один раз в файле "menu.php"
Что есть на данный момент:
файл menu.php
Код: Выделить всё
<?
function Left_menu()
{
$str_menu=<<<DOCNAME_menu
<html>
<body topmargin="0" leftmargin="0">
<table border="1">
.......теги меню
</body>
</html>
DOCNAME_menu;
echo $str_menu;
}
?>
Код: Выделить всё
<?
[b]include "menu.php";[/b]?>
<html>
<head>
<title>Добро пожаловать на пробный сайт</title>
</head>
<body topmargin="0" leftmargin="0">
<table border="0" width="99%" height="814">
<tr>
<td width="23%" rowspan="19" height="814">
<? Left_menu(); ?>
<td colspan="3" height="219">
.........
</tr>
</table>
</body>
</html>
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
menu.inc
index.php
Код: Выделить всё
[url=#]menu1[/url]
[url=#]menu2[/url]
[url=#]menu3[/url]
[url=#]menu4[/url]
Код: Выделить всё
<table style="width: 100%; height: 100%;" border="1">
<tr>
<td style="width: 200px; vertical-align: top;">
<?=implode('', file ('menu.inc'));?>
</td>
<td style="vertical-align: top;">
content
</td>
</tr>
</table>