Перейти к публикации

Рекомендованные сообщения

сам файл с меню:

<?

$topmenu_current = array();

$topmenu_current[$do] = 'id="current"';


$topmenu =<<<HTML

		<ul>

			<li {$topmenu_current['']}><a href="/">Главная</a></li>

			<li {$topmenu_current['cat1']}><a href="/cat1/">Новости</a></li>

			<li {$topmenu_current['cat2']}><a href="/cat2/">Category 1</a></li>

			<li {$topmenu_current['stats']}><a href="/index.php?do=stats">Статистика</a></li>

			<li {$topmenu_current['addnews']}><a href="/index.php?do=addnews">Добавить новость</a></li>

			<li {$topmenu_current['feedback']}><a href="/index.php?do=feedback">Контакты</a></li>

		</ul>


HTML;

?>
css
#mainMenu ul {	margin:0;margin-left: 40px;padding: 0;list-style: none;}

#mainMenu li {display: inline;margin: 0 2px 0 0;padding: 0;text-transform: uppercase;}

#mainMenu a {float: left;display: block;font: bold 11px Arial;color: #fff;text-decoration: none;margin: 0 1px 0 2px; padding: 5px 10px;background: transparent;}

#mainMenu a:hover{background: #f6c43c url(../images/atabs.png) repeat-x;color: #000;}

#mainMenu #current a { 	background: #f6c43c url(../images/atabs.png) repeat-x;color: #000;}

Файлы подключены соответственно

Ссылка на сообщение
Поделиться на других сайтах

а что конкретно то "не работает"? не понятно

а чтобы подсвечивать категории пожалуй нужно чуть поменять код...

$topmenu_current = array();

if ($do == 'cat' AND $category != '')

	$topmenu_current[$category] = 'id="current"';	

else

	$topmenu_current[$do] = 'id="current"';


$topmenu =<<<HTML

		<ul>

			<li {$topmenu_current['']}><a href="/">Главная</a></li>

			<li {$topmenu_current['cat1']}><a href="/cat1/">Новости</a></li>

			<li {$topmenu_current['cat2']}><a href="/cat2/">Category 1</a></li>

			<li {$topmenu_current['stats']}><a href="/index.php?do=stats">Статистика</a></li>

			<li {$topmenu_current['addnews']}><a href="/index.php?do=addnews">Добавить новость</a></li>

			<li {$topmenu_current['feedback']}><a href="/index.php?do=feedback">Контакты</a></li>

		</ul>


HTML;

Ссылка на сообщение
Поделиться на других сайтах

EzS, ну так протестируй в чём проблема то...

$topmenu_current = array();

if ($do == 'cat' AND $category != '')

	$topmenu_current[$category] = 'id="current"';	

else

	$topmenu_current[$do] = 'id="current"';


echo $do; die(); // - тестовая строка

$topmenu =<<<HTML

		<ul>

			<li {$topmenu_current['']}><a href="/">Главная</a></li>

			<li {$topmenu_current['cat1']}><a href="/cat1/">Новости</a></li>

			<li {$topmenu_current['cat2']}><a href="/cat2/">Category 1</a></li>

			<li {$topmenu_current['stats']}><a href="/index.php?do=stats">Статистика</a></li>

			<li {$topmenu_current['addnews']}><a href="/index.php?do=addnews">Добавить новость</a></li>

			<li {$topmenu_current['feedback']}><a href="/index.php?do=feedback">Контакты</a></li>

		</ul>


HTML;

+ смотри на html код меню. Покажи например код меню страницы /index.php?do=feedback

Ссылка на сообщение
Поделиться на других сайтах

C добавленными

echo $do; die(); // - тестовая строка
выскакивает сама переменная $do в данном случае, cat (при переходе в категорию news) по ссылке
<ul>

			<li><a href="/">Главная</a></li>

			<li><a href="/news/">Новости</a></li>

			<li><a href="/cat1/">Category 1</a></li>

			<li><a href="/index.php?do=stats">Статистика</a></li>

			<li><a href="/index.php?do=addnews">Добавить новость</a></li>

			<li id="current"><a href="/index.php?do=feedback">Контакты</a></li>

		</ul>

или какая часть кода требуется именно?

Ссылка на сообщение
Поделиться на других сайтах

<ul>

<li><a href="/">Главная</a></li>

<li><a href="/news/">Новости</a></li>

<li><a href="/cat1/">Category 1</a></li>

<li><a href="/index.php?do=stats">Статистика</a></li>

<li><a href="/index.php?do=addnews">Добавить новость</a></li>

<li id="current"><a href="/index.php?do=feedback">Контакты</a></li>

</ul>

нуу и ты ничего не замечаешь? чем отличаются ссылки от текущей? значит проблема в CSS - экспериментируй!

Ссылка на сообщение
Поделиться на других сайтах

Код выше - после перехода в контакты :)

Т.е. идентификатор current стоит правильно

Сомневаюсь что css. При переходе в категорию news/

<ul>

			<li><a href="/">Главная</a></li>

			<li><a href="/news/">Новости</a></li>

			<li><a href="/cat1/">Category 1</a></li>

			<li><a href="/index.php?do=stats">Статистика</a></li>

			<li><a href="/index.php?do=addnews">Добавить новость</a></li>

			<li><a href="/index.php?do=feedback">Контакты</a></li>

 </ul>

Идентификатор отсутствует совсем

Ссылка на сообщение
Поделиться на других сайтах

Т.е. идентификатор current стоит правильно
значит подсветка должна быть

Сомневаюсь что css. При переходе в категорию news/
ну а какой код в menu.php? ты заметил что я почти в каждом посте что-то спрашиваю?

Неужели нельзя разложить всё по полочка. мол так и так, имею такой код в пхп и такой то на выходе (хтмл), проблема такая то)

Изменено пользователем lifestar
Ссылка на сообщение
Поделиться на других сайтах

ок

Проблема такова:

надо чтобы подвечивались выбранные ссылки в меню: как статические страницы, так и выбранные категории. При выборе статической страницы, например, контактов, ссылка в меню подсвечена, при выборе категории новости - не подсвечена.

Как раз тут про идентификаторы: идентификатор только на статичных страницах есть в коде, в категориях его нет. То есть:

<ul>

<li><a href="/">Главная</a></li>

<li><a href="/news/">Новости</a></li>

<li><a href="/cat1/">Category 1</a></li>

<li><a href="/index.php?do=stats">Статистика</a></li>

<li><a href="/index.php?do=addnews">Добавить новость</a></li>

<li [b]id="current"[/b]><a href="/index.php?do=feedback">[b]Контакты[/b]</a></li>

</ul>
Это страница контактов (в меню все как и задумано, то есть все подсвечено) Это страница с категорией "новости":
<ul>

			<li><a href="/">Главная</a></li>

			<li><a href="/news/">Новости</a></li>

			<li><a href="/cat1/">Category 1</a></li>

			<li><a href="/index.php?do=stats">Статистика</a></li>

			<li><a href="/index.php?do=addnews">Добавить новость</a></li>

			<li><a href="/index.php?do=feedback">Контакты</a></li>

</ul>
Страница с категорией "новости" в коде идентификатор отсутствует и соответственно подсветки в меню нет. Пхп'шный код:
<?

$topmenu_current = array();


if ($do == 'cat' AND $category != '')

	$topmenu_current[$category] = ' id="current"';	

else

	$topmenu_current[$do] = ' id="current"';

//echo $do; 

//die(); // - тестовая строка

$topmenu =<<<HTML

		<ul>

			<li{$topmenu_current['']}><a href="/">Главная</a></li>

			<li{$topmenu_current['news']}><a href="/news/">Новости</a></li>

			<li{$topmenu_current['cat1']}><a href="/cat1/">Category 1</a></li>

			<li{$topmenu_current['stats']}><a href="/index.php?do=stats">Статистика</a></li>

			<li{$topmenu_current['addnews']}><a href="/index.php?do=addnews">Добавить новость</a></li>

			<li{$topmenu_current['feedback']}><a href="/index.php?do=feedback">Контакты</a></li>

		</ul>


HTML;

?>

Вроде все раздложил

Изменено пользователем EzS
Ссылка на сообщение
Поделиться на других сайтах

EzS, таки делаем вывод, что $category ничему не равно ;) у тебя в init.php файл меню в каком месте подключается?

нужно после этого

if (isset($_REQUEST['category'])) {

	if (substr($_GET['category'], -1, 1) == '/') $_GET['category'] = substr($_GET['category'], 0, -1);

	$category  = explode('/',$_GET['category']);

	$category  = end($category);

	$category  = $db->safesql(strip_tags($category));

} else $category = '';

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...