|
|
|
| Здравствуйте.
<?
if(!$_GET['name'])
{
$module = 'pages';
}
else
{
$module = $_GET['name'];
}
class menu
{
// ------------------------------------------
function show_menu ()
{
global $name, $module, $podm;
$menu = array(
"d1" => "Сайт",
"Страницы и структура" => "?name=pages",
"b1" => "",
"d2" => "Материалы",
"Новости" => "?name=news",
"Статьи" => "?name=article",
"b2" => ""
);
$sub_menu = array(
"pages" => array(
"Список страниц", "?name=pages&action=12", "page.gif",
"Добавить страницу", "?name=pages&action=add_p", "page.gif",
),
"news" => array(
"Категории новостей", "?name=news", "page.gif",
"Добавить новости", "?name=news&action=add_n", "page.gif"
),
"article" => array(
"Список статей", "?name=article&action=showlist", "page.gif",
"Добавить статью", "?name=article&action=add", "page.gif"
));
foreach ($menu as $main_menu_item => $main_menu_item_link) {
if (preg_match("/^d[0-9]/",$main_menu_item)) {
echo '<b>'.$main_menu_item_link.'</b><br>';
continue;
} else if (preg_match("/^b[0-9]/",$main_menu_item)) {
echo '<br><br>';
continue;
} else {
echo "<a href='http://".$_SERVER['HTTP_HOST']."/config.php".$main_menu_item_link."'";
echo ">".$main_menu_item."</a><br>";
}
}
if ($module && is_array($sub_menu[$module]) && count($sub_menu[$module])>0) {
$i = 0;
foreach ($sub_menu[$module] as $value) {
$i++;
if ($i == 1) $menu_item = $value;
if ($i == 2) $menu_item_link = $value;
if ($i == 3) {
$menu_item_icon = $value;
$podm = array(menu_item_icon => $menu_item_icon,);
echo count($podm);
$i = 0;
}
}
}
}
// ------------------------------------------
}
?>
|
Поидее в масиве( $podm = array(menu_item_icon => $menu_item_icon,); ) должно быть неменее 2х записей, т.к если вставить ( echo $menu_item_icon ), выводится 2 записи, но в масив добавляется только 1, а почему понять не могу. | |
|
|
|
|
|
|
|
для: shmel
(22.06.2006 в 17:17)
| | конструкция $podm = array($menu_item_icon) формирует новый массив из одного элемента, затирая старый.
чтобы добавить элемент, надо писать $podm[] = $menu_item_icon :
{
$i = 0;
$podm = array();
foreach ($sub_menu[$module] as $value) {
$i++;
if ($i == 1) $menu_item = $value;
if ($i == 2) $menu_item_link = $value;
if ($i == 3) {
$menu_item_icon = $value;
$podm[] = $menu_item_icon;
echo count($podm);
$i = 0;
}
|
| |
|
|
|
|
|
|
|
для: Trianon
(22.06.2006 в 17:45)
| | Извеняюсь самое главное забыл, не в том виде скрипт выложил.
<?
// ------------------------------------------
function show_menu ()
{
global $name, $module, $podm;
$menu = array(
"d1" => "Сайт",
"Страницы и структура" => "?name=pages",
"b1" => "",
"d2" => "Материалы",
"Новости" => "?name=news",
"Статьи" => "?name=article",
"b2" => ""
);
$sub_menu = array(
"pages" => array(
"Список страниц", "?name=pages&action=12", "page.gif",
"Добавить страницу", "?name=pages&action=add_p", "page.gif",
),
"news" => array(
"Категории новостей", "?name=news", "page.gif",
"Добавить новости", "?name=news&action=add_n", "page.gif"
),
"article" => array(
"Список статей", "?name=article&action=showlist", "page.gif",
"Добавить статью", "?name=article&action=add", "page.gif"
));
foreach ($menu as $main_menu_item => $main_menu_item_link) {
if (preg_match("/^d[0-9]/",$main_menu_item)) {
echo '<b>'.$main_menu_item_link.'</b><br>';
continue;
} else if (preg_match("/^b[0-9]/",$main_menu_item)) {
echo '<br><br>';
continue;
} else {
echo "<a href='http://".$_SERVER['HTTP_HOST']."/config.php".$main_menu_item_link."'";
echo ">".$main_menu_item."</a><br>";
}
// } Не в том месте *
if ($module && is_array($sub_menu[$module]) && count($sub_menu[$module])>0) {
$i = 0;
foreach ($sub_menu[$module] as $value) {
$i++;
if ($i == 1) $menu_item = $value;
if ($i == 2) $menu_item_link = $value;
if ($i == 3) {
$menu_item_icon = $value;
$podm = array(menu_item_icon => $menu_item_icon,
menu_item => $menu_item,
menu_item_link =>$menu_item_link, );
echo count($podm);
$i = 0;
}
}
}
} // *
}
// ------------------------------------------
?>
|
С созданием рахных массивов понятно, но это( $podm = array(menu_item_icon => $menu_item_icon,
menu_item => $menu_item,
menu_item_link =>$menu_item_link, ); ) должно остаться взаимосвязаным, т.к потом это будет выводиться совершенно в другом месте. | |
|
|
|
|