X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Дайте пожалуйста скрипт php меню с активной ссылкой.
bosker
bosker
Topic Starter сообщение 16.6.2011, 22:23; Ответить: bosker
Сообщение #1


заговорщик
*****

Группа: Banned
Сообщений: 957
Регистрация: 26.5.2010
Из: какого теста ты сделан?
Поблагодарили: 285 раз
Репутация:   74  


Добрый день. Сегодня такой вопрос созрел.
Делаю меню сайта, а надо чтобы если перешли на страницу к примеру: "конфетка из бетона" этот пункт меню был выделен.
Делали так на одном сайте через php, но на моём движке что то не получается. Помогите пожалуйста, или может у кого код завалялся)
facepalm.gif facepalm.gif facepalm.gif facepalm.gif facepalm.gif


--------------------
заговорщик
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
сообщение 16.6.2011, 22:29; Ответить: scanread
Сообщение #2


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


_http://php.southpark.com.ua/2008/menu-element/ - это не подойдет? (правда, там пример как сделать)

Можно так сделать:

function currentLocation(){
var curr = ""
curr += window.location;
var aObj = document.getElementById('контейнер где находятся ссылки, может быть и весь документ').getElementsByTagName('A')
for (var i = 0; i < aObj.length; i++) {
var n = "";
n += aObj[i]
aObj[i].style.color =(n.substring(n.lastIndexOf('/'), n.length) == curr.substring(curr.lastIndexOf('/'), curr.length)) ? 'red' : 'blue';
}
}


Сообщение отредактировал scanread - 16.6.2011, 22:32


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bosker
bosker
Topic Starter сообщение 16.6.2011, 22:34; Ответить: bosker
Сообщение #3


заговорщик
*****

Группа: Banned
Сообщений: 957
Регистрация: 26.5.2010
Из: какого теста ты сделан?
Поблагодарили: 285 раз
Репутация:   74  


scanread тот код возьму на заметку, я желал чуток другой код.
П.С. bosker ждёт=)

У нас код был с (if + else)


--------------------
заговорщик
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
сообщение 16.6.2011, 22:42; Ответить: scanread
Сообщение #4


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


bosker, бррр, так такой был, а какой тогда надо, я не понимаю? Какой движок вообще используется то? Может JS или jQuery меню подойдет? Или объязательно пхп?

Сообщение отредактировал scanread - 16.6.2011, 22:45


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bosker
bosker
Topic Starter сообщение 16.6.2011, 22:46; Ответить: bosker
Сообщение #5


заговорщик
*****

Группа: Banned
Сообщений: 957
Регистрация: 26.5.2010
Из: какого теста ты сделан?
Поблагодарили: 285 раз
Репутация:   74  


scanread движок почти самопис, да не в движке дело.
Можно и JS, тот что на сайте мне показался сложноватым, у нас был проще. такие варианты есть, я точно знаю.


--------------------
заговорщик
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rjksdfhe
rjksdfhe
сообщение 16.6.2011, 22:49; Ответить: rjksdfhe
Сообщение #6


Straight arms
*******

Группа: Active User
Сообщений: 2760
Регистрация: 21.4.2009
Из: Мытищи, МО, РФ
Поблагодарили: 1111 раз
Репутация:   163  


Для этого надо знать адрес ссылки в меню и адрес текущей страницы.
На PHP это примерно так (выдрано из одного проекта):

$curUrl=$_SERVER['REQUEST_URI'];

// верхнее меню
$rq=$db->query ('SELECT menu,url FROM structure');
while ($r=$db->fetch ($rq)) {
    if ($curUrl==$r['url']) echo ("<b>{$r['menu']}</b>");
    else echo ("<a href='{$r['url']}'>{$r['menu']}</a>");
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bosker
bosker
Topic Starter сообщение 16.6.2011, 22:52; Ответить: bosker
Сообщение #7


заговорщик
*****

Группа: Banned
Сообщений: 957
Регистрация: 26.5.2010
Из: какого теста ты сделан?
Поблагодарили: 285 раз
Репутация:   74  


тут с запросом в базу данных. а без него бы.


--------------------
заговорщик
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rjksdfhe
rjksdfhe
сообщение 16.6.2011, 22:58; Ответить: rjksdfhe
Сообщение #8


Straight arms
*******

Группа: Active User
Сообщений: 2760
Регистрация: 21.4.2009
Из: Мытищи, МО, РФ
Поблагодарили: 1111 раз
Репутация:   163  


Надо обязательно знать URL чтобы сравнивать.
Если есть таблица типа 'название в меню'->'url', то так:

$curUrl=$_SERVER['REQUEST_URI']; // надо подогнать к формату, принятому в движке - чтобы можно было сравнить текст

$menuSet=array('Главная'=>'', 'Продукты'=>'products.html', 'Контакты'=>'contacts.html'); // это надо подготовить в движке заранее

// верхнее меню
foreach ($menuSet as $name=>$url) {
    if ($curUrl==$url) echo ("<b>$name</b>");
    else echo ("<a href='$url'>$name</a>");
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bosker
bosker
Topic Starter сообщение 16.6.2011, 23:07; Ответить: bosker
Сообщение #9


заговорщик
*****

Группа: Banned
Сообщений: 957
Регистрация: 26.5.2010
Из: какого теста ты сделан?
Поблагодарили: 285 раз
Репутация:   74  


rjksdfhe такой код наверное не встанет.
Нужен такой вот: если урл совпадает с пунктом меню, то пункт выделен, а если не совпадает, то не выделен.
вот пример какой был:

<?php
if($id == 7){ ?>
<td>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td><img src="<?php echo SkinGetWay(); ?>/images/menu_button_left.png"/></td>
<td class="menu_button_content_activ"><a href="<?php echo $conf_urlsite; ?>id7.html">Создание</a></td>
<td><img src="<?php echo SkinGetWay(); ?>/images/menu_button_right.png"/></td>
</tr>
</table>
</td>
<?php }else{ ?>
<td>
<table cellpadding="0" cellspacing="0" border="0">
<tr><td class="menu_button_content"><a href="<?php echo $conf_urlsite; ?>id7.html">Создание</a></td>
</tr></table>
</td>
<?php }
?>


--------------------
заговорщик
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rjksdfhe
rjksdfhe
сообщение 16.6.2011, 23:18; Ответить: rjksdfhe
Сообщение #10


Straight arms
*******

Группа: Active User
Сообщений: 2760
Регистрация: 21.4.2009
Из: Мытищи, МО, РФ
Поблагодарили: 1111 раз
Репутация:   163  


Проще будет задействовать программиста с минимальными навыками (не меня).
Тут метод "возьми код с форума и вставь, сразу всё получится" не сработает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыГде взять скрипт круговой индикатор выполнения
3 slavyn 454 14.12.2017, 22:55
автор: Caterpillar
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 657 13.12.2017, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3470 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) Как привязать меню к кнопке <nav> ?
2 pippak 904 11.12.2017, 15:57
автор: Nell
Открытая тема (нет новых ответов) Размещу Вашу статью с ссылкой на сайте с Тиц 50 навсегда
11 vyacheslav333 1356 9.12.2017, 22:16
автор: Мамай


 



RSS Текстовая версия Сейчас: 17.12.2017, 8:58
Дизайн