Спустя 2 минуты, 28 секунд (6.02.2011 - 13:37) Kuliev написал(а):
m4a1fox
if($flag == 1)
{
// Выделенная ссылка
}
else
{
// Обычная ссылка
}
Спустя 22 минуты, 25 секунд (6.02.2011 - 14:00) m4a1fox написал(а):
Kuliev
Может сможете помочь с кодом. А то что-то я не догоняю. Вот мой код вывода меню
Может сможете помочь с кодом. А то что-то я не догоняю. Вот мой код вывода меню
<div class="menu" align="center">
<?php
echo '<table width="900px" border="1" cellspacing="0" cellpadding="0" height="20px"><tr>';
$query = mysql_query ("SELECT `id`, `img`, `name`
FROM `menu`
") or die ("Ошибка -".mysql_error());
while($ind=mysql_fetch_assoc($query))
{
echo '
<td align="center"">
<a href=page.php?ind='.(int)$ind['id'].'>
<img align="absmiddle" src="admin/img/'.$ind['img'].'"> '.$ind['name'].'
</a>
</td>
';
}
echo '</tr></table>';
?></div>
Спустя 17 минут, 41 секунда (6.02.2011 - 14:18) Sopromatenot написал(а):
Тебе нужно на каждой странице сделать "пометку" в виде переменной/константы и при выводе меню делать как сказал Kuliev.
Смотря как у тебя сайт организован..
Смотря как у тебя сайт организован..
Спустя 2 минуты, 20 секунд (6.02.2011 - 14:20) Kuliev написал(а):
m4a1fox
if(isset($_GET['ind']))
{
echo "<b><a href='page.php?ind=".$ind['id']."'></b>\n";
}
else
{
echo "<a href='page.php?ind=".$ind['id']."'>\n";
}
Спустя 18 минут, 16 секунд (6.02.2011 - 14:38) m4a1fox написал(а):
Kuliev
Извините, не понимаю... Видимо сложно...
Извините, не понимаю... Видимо сложно...
Спустя 5 минут, 51 секунда (6.02.2011 - 14:44) nugle написал(а):
m4a1fox, что именно вы не понимаете?
Если существует переменная переданная ссылкой то выделять ссылку, если нет, то не выделять!
Если существует переменная переданная ссылкой то выделять ссылку, если нет, то не выделять!
Спустя 33 секунды (6.02.2011 - 14:45) Sopromatenot написал(а):
Цитата (m4a1fox @ 6.02.2011 - 11:38) |
Kuliev Извините, не понимаю... Видимо сложно... |
Спустя 4 минуты, 19 секунд (6.02.2011 - 14:49) m4a1fox написал(а):
Sopromatenot
А есть разница, как я вывожу меню. Через li или через td?
А есть разница, как я вывожу меню. Через li или через td?
Спустя 2 минуты, 49 секунд (6.02.2011 - 14:52) m4a1fox написал(а):
nugle
Понимаете, у меня ведь цикл. А в нем не доходит до меня как сделать выделение.
Понимаете, у меня ведь цикл. А в нем не доходит до меня как сделать выделение.
Спустя 2 минуты, 36 секунд (6.02.2011 - 14:54) m4a1fox написал(а):
Sopromatenot
Спасибо за ссылку, но там нет цикла( В этом-то и беда.
Спасибо за ссылку, но там нет цикла( В этом-то и беда.
Спустя 2 минуты, 11 секунд (6.02.2011 - 14:56) Sopromatenot написал(а):
Дело не в цикле. Дело в том что перед тем как выводить меню нужно узнать на какой страницы находится посетитель и уже от этого писать обработку.
В том примере на каждой страницы была переменая $master которая и говорила "на какой страницы сидит пользователь".
В том примере на каждой страницы была переменая $master которая и говорила "на какой страницы сидит пользователь".
Спустя 3 минуты, 28 секунд (6.02.2011 - 15:00) m4a1fox написал(а):
Sopromatenot
Хорошо. Вот я узнал.
Хорошо. Вот я узнал.
вот тут выводится пункт меню на котором я сейчас нахожусь. Но как вписать его в этот код,
<?php
if(isset($myrow['name']))
{
echo '<img align="absmiddle" src="admin/img/'.$myrow['img'].'"> '.$myrow['name'].'';
}
?>
<div class="menu" align="center">ума не приложу.
<table width="900px" border="1" cellspacing="0" cellpadding="0" height="20px"><tr>
<?php
$query = mysql_query ("SELECT `id`, `img`, `name`
FROM `menu`
") or die ("Ошибка -".mysql_error());
while($ind=mysql_fetch_assoc($query))
{
echo '
<td align="center"">
<a href=page.php?ind='.(int)$ind['id'].'>
<img align="absmiddle" src="admin/img/'.$ind['img'].'"> '.$ind['name'].'
</a>
</td>
';
}
?>
</tr></table>
</div>
Спустя 17 минут, 46 секунд (6.02.2011 - 15:18) Sopromatenot написал(а):
<?php
if(isset($myrow['name']))
{
echo '<img align="absmiddle" src="admin/img/'.$myrow['img'].'"> '.$myrow['name'].'';
$master = $myrow['name'];
}
?>
if($master == $ind['name']){
echo '
<td align="center"">
<b><a href=page.php?ind='.(int)$ind['id'].'></b>
<img align="absmiddle" src="admin/img/'.$ind['img'].'"> '.$ind['name'].'
</a>
</td>
';}
else{
echo '
<td align="center"">
<a href=page.php?ind='.(int)$ind['id'].'>
<img align="absmiddle" src="admin/img/'.$ind['img'].'"> '.$ind['name'].'
</a>
</td>
';}
во ткакто так
Спустя 3 минуты, 36 секунд (6.02.2011 - 15:21) Kuliev написал(а):
m4a1fox
<?php
$query = mysql_query ("SELECT `id`, `img`, `name`
FROM `menu`") or die ("Ошибка -".mysql_error());
while($ind = mysql_fetch_assoc($query))
{
if($_GET['id'] == $ind['id'])
{
//Делаем выделение
}
else
//Обычная сылка
}
?>
Спустя 13 минут, 31 секунда (6.02.2011 - 15:35) m4a1fox написал(а):
Kuliev
Странно - но Ваш вариант не работает. А то что предложилSopromatenot работает.
Странно - но Ваш вариант не работает. А то что предложилSopromatenot работает.
Спустя 7 минут, 31 секунда (6.02.2011 - 15:42) Kuliev написал(а):
Цитата (m4a1fox @ 6.02.2011 - 16:35) |
Kuliev Странно - но Ваш вариант не работает. А то что предложилSopromatenot работает. |
Это всего лишь пример!
Спустя 23 секунды (6.02.2011 - 15:43) m4a1fox написал(а):
Kuliev
Ясно.... Спасибо.
Ясно.... Спасибо.
Спустя 31 минута, 48 секунд (6.02.2011 - 16:15) Sopromatenot написал(а):
Цитата (Kuliev @ 6.02.2011 - 12:42) | ||
Это всего лишь пример! |
if($_GET['id'] == $ind['id'])
Вероятно $ind['id'] это просто номера пунктов меню типа 1, 2, 3 и т.д., а в $_GET['id'] это "имя страницы" типа page1, project и пр. Поэтому и не срабатывает.
Тоесть вероятно это два разных id.
Спустя 1 час, 45 минут, 31 секунда (6.02.2011 - 18:00) inpost написал(а):
m4a1fox
А проверить параметры, которые сравнивает скрипт - сложно? Вот скрипт должен сравнить $_GET['id'] с $ind['id'], смотришь, что находится в этих переменных и обращаешь внимание на то, почему не происходит условие. Возможно в $_GET['id'] находится не $ind['id'], а $ind['title'], ты хочешь, чтобы мы за тебя всё это копали, или все-таки соизволишь проверить, какие именно данные сходятся сам?
А проверить параметры, которые сравнивает скрипт - сложно? Вот скрипт должен сравнить $_GET['id'] с $ind['id'], смотришь, что находится в этих переменных и обращаешь внимание на то, почему не происходит условие. Возможно в $_GET['id'] находится не $ind['id'], а $ind['title'], ты хочешь, чтобы мы за тебя всё это копали, или все-таки соизволишь проверить, какие именно данные сходятся сам?
Спустя 1 год, 5 месяцев, 11 дней, 18 часов, 32 минуты, 29 секунд (18.07.2012 - 11:33) uncle BOO написал(а):
Приветствую гуру php!
Я так и не смог реализовать в моём меню подсветку активного пункта на php. Я совсем никто в php и не смог приспособить ни один пример меню из нета. Сколько затрачено на это время, никто не угадает :rolleyes:
Помогите, пожалуйста, сделать подсветку той ссылки, на странице которой находится юзер.
Есть index.php , меню в нём вставлено через <? include("../aar/php/menu.php");?>
Меню вертикальное, без li, имеет более 50 ссылок, расположено справа, на одной строчке несколько ссылок.
Сейчас каждой ссылке присвоен класс, для подсветки через <body id="класс"> и в CSS раздутое правило (#index .index, и тд 50 классов). Хотелось бы узнать как правильно сделать на php, чтоб ссылка страницы была подсвечена и одновременно не активна как ссылка (чтоб пользователь не мог кликать в меню ссылку той страницы, где он и так уже находится).
На данный момент menu.php :
Стиль для подсветки элементарный, типа
active {color:#0FF; cursor:none;}
хотя если надо как-то по-другому, то с радостью посмотрю.
Одна убедительная просьба, как можно максимально выкладывать код, так как помощь: воткни проверку $url = $_SERVER['REQUEST_URI']; породит у меня кучу вопросов.
Установлен Denver и Dreamweaver CS5.5
Я так и не смог реализовать в моём меню подсветку активного пункта на php. Я совсем никто в php и не смог приспособить ни один пример меню из нета. Сколько затрачено на это время, никто не угадает :rolleyes:
Помогите, пожалуйста, сделать подсветку той ссылки, на странице которой находится юзер.
Есть index.php , меню в нём вставлено через <? include("../aar/php/menu.php");?>
Меню вертикальное, без li, имеет более 50 ссылок, расположено справа, на одной строчке несколько ссылок.
Сейчас каждой ссылке присвоен класс, для подсветки через <body id="класс"> и в CSS раздутое правило (#index .index, и тд 50 классов). Хотелось бы узнать как правильно сделать на php, чтоб ссылка страницы была подсвечена и одновременно не активна как ссылка (чтоб пользователь не мог кликать в меню ссылку той страницы, где он и так уже находится).
На данный момент menu.php :
<div id="right">
<div class="panelright">
<a href="../index.php" class="index">Home</a> <a href="../index/homeRU.php" class="homeRU">Предисловие</a>
<h3 class="razdel">Хронология</h3>
<a href="../0000-1975/00001975.php" class="a0075">...1975</a> <a href="../1976-1978/19761978.php" class="a7678">1976-1978</a> <a href="../1979/19791980.php" class="a7980">1979-1980</a><br>
<a href="../1981/1981.php" class="a81-1" alt="1981, часть 1">1981...</a> <a href="../1981/1981II.php" class="a81-2">...1981</a><br>
<a href="../1982/1982.php" class="a82-1">1982...</a> <a href="../1982/1982II.php" class="a82-2" >...1982</a><br>
<a href="../1983/1983.php" class="a83-1">1983...</a> <a href="../1983/1983II.php" class="a83-2">..1983..</a>   <a href="../1983/1983III.php" class="a83-3">...1983</a><br>
<a href="../1984/1984.php" class="a84-1">1984...</a> <a href="../1984/1984II.php" class="a84-2">..1984..</a>   <a href="../1984/1984III.php" class="a84-3">...1984</a><br>
<a href="../1985/1985.php" class="a85-1">1985...</a> <a href="../1985/1985II.php" class="a85-2">..1985..</a>   <a href="../1985/1985III.php" class="a85-3">...1985</a><br>
<a href="../1986/1986.php" class="a86-1">1986...</a> <a href="../1986/1986II.php" class="a86-2">..1986..</a>   <a href="../1986/1986III.php" class="a86-3">...1986</a> <a href="../1987/1987.php" class="a87">1987</a><br>
<a href="../1988/1988.php" class="a88">1988</a> <a href="../1989/newaccept.php" class="a89">1989</a> <a href="../1993/newaccept1.php" class="a93">1990-1995</a><br>
<a href="../1996/newaccept2.php" class="a9605">1996-2005</a> <a href="../2009/newaccept3.php" class="a0910">2009-2010</a> <a href="../2011/newaccept4.php" class="a11">2011</a><br>
<a href="../2012/newaccept5.php" class="a12">2012...</a><br>
U.D.O. <a href="../UDO/U-D-O1.php" class="u87">1987...</a> <a href="../UDO/U-D-O2.php" class="u97">1997...</a> <a href="../UDO/U-D-O3.php" class="u09">2009...</a><br>
U.D.O. <a href="../UDO/U-D-O4.php" class="u12">2012...</a><br>
<a href="../index/sostav.php" class="sostav">Состав</a> <a href="../index/discografia.php" class="discografia">Дискография</a><br>
<a href="../concert/concerts.php" class="concerts">Концерты</a> <a href="../bootlegs/bootlegs.php" class="bootlegs">Бутлеги</a> <a href="../video/video.php" class="video">Видео</a><br>
<a href="../rar/raritet.php" class="raritet">Раритеты</a> <a href="../magazine/jurnal.php" class="jurnal">Пресса</a> <a href="../awards/awards.php" class="awards">Награды</a><br>
<h3 class="razdel">Биография</h3>
<a href="../people/udo.php" class="miniudo"><img src="../aar/img/miniudo.jpg" alt="<strong>Udo Dirkschneider</strong>"/></a>
<a href="../people/wolf.php" class="miniwolf"><img src="../aar/img/miniwolf.jpg" alt="<strong>Wolf Hoffmann</strong>"/></a>
<a href="../people/peter.php" class="minipeter"><img src="../aar/img/minipeter.jpg" alt="<strong>Peter Baltes</strong>"/></a>
<a href="../people/jorg.php" class="minijorg"><img src="../aar/img/minijorg.jpg" alt="<strong>Jorg Fischer</strong>"/></a>
<a href="../people/stefan.php" class="ministefan"><img src="../aar/img/ministefan.jpg" alt="<strong>Stefan Kaufmann</strong>"/></a><br>
<a href="../people/gaby.php" class="minigaby">Gaby Hauke</a><br>
<a href="../people/michael.php" class="minimichael">Michael Wagener</a> <a href="../people/herman.php" class="miniherman">Herman Frank</a><br>
<h3 class="razdel">Композиции</h3>
<a href="../text/texts.php" class="texts">Тексты/Перевод</a> <a href="../index/nota.php" class="nota">Ноты/Табы</a><br>
<h3 class="razdel">О проекте</h3>
<a href="../forum/index.php" class="forum">ФОРУМ</a> <a href="../people/autor.php" class="autor">Автор</a>
</div><!-- end .panelright -->
<a class="triggerright" href="#">Навигатор</a>
</div><!-- end right -->
Стиль для подсветки элементарный, типа
active {color:#0FF; cursor:none;}
хотя если надо как-то по-другому, то с радостью посмотрю.
Одна убедительная просьба, как можно максимально выкладывать код, так как помощь: воткни проверку $url = $_SERVER['REQUEST_URI']; породит у меня кучу вопросов.
Установлен Denver и Dreamweaver CS5.5
Спустя 2 дня, 2 часа, 59 минут, 2 секунды (20.07.2012 - 14:32) uncle BOO написал(а):
Жаль, что никого не заинтересовало. Может быть, если я скажу, что в сети нет решения этого вопроса (доступного к пониманию не специалистов php), и выложенный здесь рабочий вариант несомненно привлечёт к этому ресурсу дополнительное внимание, это кого-то сподобит помочь нам обычным содержателям сайтов?
Понимаю, что коль уж взялся за владение сайтом, будь добр изучай всё, что надобно.
Я лично, не сразу после прихода в голову мысли о таком меню, прошу помощи. Сам упорно пробовал несколько месяцев соединить все найденные в сети варианты, но результатом только стало отвлечение от контента сайта и его новостное развитие остановилось.
В общем, я специалист в другой области и тех.обслуживание сайта и форума отбирает у меня 90% возможностей заниматься любимым увлечением, поэтому запросил помощи.
Надеюсь, всем кто-то обращался ко мне по специфике моего сайта, я помог в полном объёме.
Понимаю, что коль уж взялся за владение сайтом, будь добр изучай всё, что надобно.
Я лично, не сразу после прихода в голову мысли о таком меню, прошу помощи. Сам упорно пробовал несколько месяцев соединить все найденные в сети варианты, но результатом только стало отвлечение от контента сайта и его новостное развитие остановилось.
В общем, я специалист в другой области и тех.обслуживание сайта и форума отбирает у меня 90% возможностей заниматься любимым увлечением, поэтому запросил помощи.
Надеюсь, всем кто-то обращался ко мне по специфике моего сайта, я помог в полном объёме.
Спустя 2 дня, 17 часов, 14 минут, 31 секунда (23.07.2012 - 07:46) NierRa написал(а):
Мне кажется никто не хочет помочь, так как ваш код абсолютно нечитаем
Не получается реализовать подсветку на php, погуглите способы на JavaScript + CSS.
Не получается реализовать подсветку на php, погуглите способы на JavaScript + CSS.
Спустя 7 часов, 24 минуты, 26 секунд (23.07.2012 - 15:11) uncle BOO написал(а):
Цитата (NierRa @ 23.07.2012 - 04:46) |
ваш код абсолютно нечитаем |
А можно пояснить? Что значит не читаемый код? Браузеры показывают меню так, как мне нужно.
Спустя 1 час, 26 минут, 33 секунды (23.07.2012 - 16:37) SerginhoLD написал(а):
Цитата (uncle BOO @ 23.07.2012 - 12:11) |
Что значит не читаемый код? Браузеры показывают меню так, как мне нужно. |
Глаза не браузер, глаза видят буквы в хаотичном порядке
Цитата (uncle BOO @ 18.07.2012 - 08:33) |
Хотелось бы узнать как правильно сделать на php, чтоб ссылка страницы была подсвечена и одновременно не активна как ссылка (чтоб пользователь не мог кликать в меню ссылку той страницы, где он и так уже находится). |
тут два пути
1. или все ссылки загонять хотя бы в массив, и проверять средствами php на какой странице ты находишься
2. или оставить всю эту кашу в том виде что есть, и через JavaScript проверять на какой странице ты находишься, ссылку с параметром href - равном пути в адресной строке блочишь (return false)
Спустя 1 час, 22 минуты, 46 секунд (23.07.2012 - 18:00) NierRa написал(а):
Цитата |
Хотелось бы узнать как правильно сделать на php, чтоб ссылка страницы была подсвечена и одновременно не активна как ссылка (чтоб пользователь не мог кликать в меню ссылку той страницы, где он и так уже находится). |
Честно не стал мудрить это дело на php.
Реализовал так:
// вставляем бибилиотеку jquery
<script src="js/jquery-1.7.2.js" type="text/javascript"></script>
// сам скрипт
<script type="text/javascript">
$(document).ready(function(){
var url=document.location.href;
$.each($("#menu a"),function(){
if(this.href==url){$(this).addClass('active');};
});
});
</script>
/* CSS */
#menu {
### какие то настройки
}
.active {
background: #000;
color: #919191 !important;
}
По поводу блокировки активной ссылки - я реализовал так - просто в стилях цвет ссылки подогнал под цвет фона.
При наведении на активную ссылку она более не подсвечивается и создается эффект неактивности. Хотя если вам это так принципиально то это другой вопрос
PS. Форматер кода не воспринимает javascript, браузер исказил отступы. Прошу прощения за плохо читаемый код
Спустя 4 часа, 22 минуты, 13 секунд (23.07.2012 - 22:22) uncle BOO написал(а):
Спасибо за ответы. На всякий случай подпишусь на тему, вдруг всё-таки кто выложит подходящий мне код php