|
|
|
| Скажите как делается меню такого типа http://gb.wap4u.ru
Данные должны хранится не в БД, а в самом скрипте. | |
|
|
|
|
|
|
|
для: Елена Смирнова
(28.11.2008 в 19:07)
| | Можно сделать многомерный массив:
<?php
$m = isset( $_GET['m'] ) ? (string) $_GET['m'] : '';
# Подменю для "Информация"
$info = array(
array( 'name' => 'Правила сайта', 'href' => '/info/rules.html' ),
array( 'name' => 'Новости', 'href' => '/info/news.html' ),
# ...
);
# Подменю для "Загрузки"
$download = array(
array( 'name' => 'Java Программы', 'href' => '/download/java.html' ),
array( 'name' => 'Скачать Jimm ICQ клиент', 'href' => '/download/jimm.html' ),
# ...
);
# ...
# Меню
$menu = array(
'info' => array('id' => 'info', 'name' => 'Информация', 'sub' => &$info),
'download' => array('id' => 'download', 'name' => 'Загрузки', 'sub' => &$download),
# ...
);
foreach( $menu as $k => $v )
{
if( $m == $k )
{
echo '<div class="checked_menu">' . htmlspecialchars($v['name']) . '</div>';
for($i = 0; $i < count($v['sub']); $i++)
{
printf(
'<div class="sub"> <a href="%s">%s</a></div>',
htmlspecialchars($v['sub'][$i]['href']),
htmlspecialchars($v['sub'][$i]['name'])
);
}
}
else
{
printf('<div class="menu"><a href="%s">%s</a></div>', '?m=' . $v['id'], htmlspecialchars($v['name']));
}
}
?>
|
P.S. Вы не могли бы оставить какой-то контакт (ICQ, email)? Если не трудно, отправьте через мой профиль на этом форуме. | |
|
|
|
|
|
|
|
для: BinLaden
(28.11.2008 в 19:59)
| | а тоже самое в яве скрипте можно? Чтобы не было постоянно запросов к серверу | |
|
|
|
|
|
|
|
для: Ruler
(28.11.2008 в 22:03)
| | Можно. Но я не знаю JavaScript. | |
|
|
|
|
|
|
|
для: BinLaden
(28.11.2008 в 22:24)
| | жаль, я тоже не знаю яваскрипт.
На ява думаю удобнее и быстрее работает, так как все на стороне клиента и нет постоянных обращений к серверу | |
|
|
|
|
|
|
|
для: Ruler
(28.11.2008 в 22:42)
| | ага там просто ужасный скрипт, который убьёт сервер :( | |
|
|
|
|
|
|
|
для: sl1p
(28.11.2008 в 23:09)
| | Я сделала вот так:
<?
if($_GET['menu'] == "forum")
{
echo '<div class="menu4">
<img src="img/'.$sezon.'/m3_ico.gif" alt="*" /> <a href="http://domen/">Форум</a>
</div>
<div class="menu2">
<img src="img/'.$sezon.'/m2_ico.gif" alt="*" /> <a href="http://forum.wap4u.ru/">Перейти на форум</a>
</div>';
}
else
{
echo '<div class="menu3">
<img src="img/'.$sezon.'/m3_ico.gif" alt="*" /> <a href="?menu=forum">Форум</a>
</div>
';
}
////////////////////////////////////////////////////////////////////////////
if($_GET['menu'] == "info")
{
echo '<div class="menu4">
<img src="img/'.$sezon.'/m3_ico.gif" alt="*" /> <a href="http://domen/">Информация</a>
</div>
<div class="menu2">
<img src="img/'.$sezon.'/m2_ico.gif" alt="*" /> <a href="http://link/">Правила сайта</a>
</div>
<div class="menu2">
<img src="img/'.$sezon.'/m2_ico.gif" alt="*" /> <a href="http://link/">Новости</a>
</div>
<div class="menu2">
<img src="img/'.$sezon.'/m2_ico.gif" alt="*" /> <a href="http://link/">Лента новостей</a>
</div>
<div class="menu2">
<img src="img/'.$sezon.'/m2_ico.gif" alt="*" /> <a href="http://link/">Новости кино</a>
</div>
';
}
else
{
echo '<div class="menu3">
<img src="img/'.$sezon.'/m3_ico.gif" alt="*" /> <a href="?menu=info">Информация</a>
</div>
';
}
?>
|
Как думаете, можно ли как то упростить эту конструкцию, тоесть сократить нагрузку на сервер или это оптимально? | |
|
|
|
|
|
|
|
для: Елена Смирнова
(29.11.2008 в 00:45)
| | Для сервера -- оптимально. | |
|
|
|
|
|
|
|
для: Елена Смирнова
(29.11.2008 в 00:45)
| | Всё было просто:) | |
|
|
|
|
|
|
|
для: BinLaden
(28.11.2008 в 19:59)
| | а почему бы и не вложенные массивы ? | |
|
|
|
|
|
|
|
для: devzorg
(29.11.2008 в 01:16)
| | Многомерный массив -- это и есть вложенные массивы. | |
|
|
|
|
|
|
|
для: BinLaden
(29.11.2008 в 01:19)
| | сорри не увидел что там потом присваивается элементам массивы .. | |
|
|
|