Многоуровневое меню в сайтах на РНР

12
emsti
На сайте с 07.07.2009
Offline
92
2448

Здравствуйте!

Начал изучать РНР.

Хочу переделать свой сайт, который был создан на HTML+CSS, не изменяя его дизайна.

Навигация сайта была реализована с помощью горизонтального многоуровневого выпадающего меню, позволяющего создавать страницы исключительно второго уровня вложенности. Сам сайт верстался в кодовом режиме Dreamveaver, автоматизация которого позволяла реализовать эту задачу, так как собственно меню находилось в папке Library и автоматически добавлялось к каждой странице сайта независимо от ее расположения в поддиректориях.

Теперь же - на РНР - меню вынесено в блоки и ссылки с него на соответствующие страницы работают некорректно.

Подскажите пожалуйста как реализовывается взаимодействие ссылок многоуровневого меню со страницами сайта, размещенными в соответствующих поддиректориях.

I
На сайте с 21.02.2008
Offline
117
#1
emsti:
Подскажите пожалуйста как реализовывается взаимодействие ссылок многоуровневого меню со страницами сайта, размещенными в соответствующих поддиректориях.

Абсолютными и относительными ссылками.

<a href="/dir/index.html">Относительная ссылка</a>

<a href="http://site.ru/dir/index.html">Абсолютная ссылка ссылка</a>

Но вообще, надо больше информации, желательно коды.

emsti
На сайте с 07.07.2009
Offline
92
#2

ippoman!

На сайте используются обычные РНР-коды, способствующие минимальному удобству управления контентом. Сайт разбит на блоки, одним из которых является навигационное меню без всяких изменений на HTML+CSS в виде вложенных списков. Создана простая админпанель, позволяющая добавлять, редактировать и удалять в БД некоторые данные. Уровень вложенности страниц в поддиректориях сайта соответствует уровню вложенности списков в меню. Вот собственно и все.

Спасибо за подсказку.

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

Dreammaker
На сайте с 20.04.2006
Offline
570
#3
emsti:
Вот только не понятно, как мне узнать абсолютный адрес ссылки, если сам сайт верстается на компе и на хостинг пока не переносился.

http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=%D0%BA%D0%B0%D0%BA+%D0%BC%D0%BD%D0%B5+%D1%83%D0%B7%D0%BD%D0%B0%D1%82%D1%8C+%D0%B0%D0%B1%D1%81%D0%BE%D0%BB%D1%8E%D1%82%D0%BD%D1%8B%D0%B9+%D0%B0%D0%B4%D1%80%D0%B5%D1%81+%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8+php

emsti
На сайте с 07.07.2009
Offline
92
#4

Dreammaker!

Я понял Ваш довольно-таки непрозрачный намек на использование поиска, но, к сожалению, по Вашей ссылке я не нашел ничего отвечающего на мой вопрос.

Может быть, лучше, чем куда-либо отсылать, если это не представляет особо секретной информации, объясните на пальцах что к чему?

orphelin
На сайте с 02.07.2006
Offline
261
#5

emsti, насколько я понял, дримвивер сканировал какую-то папку на диске и на основе этого автоматически создавал меню?

на пхп подобное не получится (точнее это сделать можно, но не зачем, когда информация хранится в бд)

выводите ваши списки (меню) циклом на пхп, получив данные запросом к бд.

Ervin
На сайте с 15.08.2008
Offline
112
#6
emsti:
Вот только не понятно, как мне узнать абсолютный адрес ссылки, если сам сайт верстается на компе и на хостинг пока не переносился.

М-м, а в чём вопрос? :) Если локальная ссылка КОРНЕВАЯ_ПАПКА/razdel1/stranica1.html, то абсолютная ссылка будет http://www.САЙТ.РУ/razdel1/stranica1.html

А если вам нужно узнать, как будут работать те или иные скрипты, то денвер вам в помощь.

Credendo vidas!
emsti
На сайте с 07.07.2009
Offline
92
#7

orphelin!

В Дримвивере создается проект сайта и, чтобы не добавлять обновления в меню на каждой странице, программа помещает подобный блок в паку Library. Так можно сделать не только с меню, а и с любым часто изменяемым фрагментом, который должен находиться сразу на всех страницах. Такой фрагмент заключается в теги комментария и в теле страницы имеет следующий вид:

<!-- #BeginLibraryItem "/Library/navmenu.lbi" -->
<div id="navmenu">
--------
</div>
<!-- #EndLibraryItem -->

Путь же ссылки сначала выходит из этой папки (../) в корень сайта и далее прописывается уже путь к самой странице.

В РНР же путь ссылок отображается так, как если бы мы писали их прямо на этой странице. Причем этот путь одинаков на всех страницах., что и составляет мою проблему.

Я знаю, что этот вопрос решаем несколько проще, чем проставление абсолютных ссылок. Но как?

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#8

Какой-то вынос мозга...

Какие-то ссылки и при чём тут PHP?!

Как на PHP выведено? примеры в студию кода, мы тут не телепаты.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
emsti
На сайте с 07.07.2009
Offline
92
#9
Ervin:
М-м, а в чём вопрос? :) Если локальная ссылка КОРНЕВАЯ_ПАПКА/razdel1/stranica1.html, то абсолютная ссылка будет http://www.САЙТ.РУ/razdel1/stranica1.html[/url

Ervin, мне этот вариант тоже приходил в голову, но при переселении сайта на хостинг мне придется редактировать файл с навигационным меню, которое содержит около 300 ссылок. Да, ради святого дела стоит попотеть, но это мне придется делать каждый раз, когда я буду вносить в сайт какие-либо изменения.

В РНР должна быть какая-то функция, вытаскивающая абсолютную ссылку определенной страницы для того, чтобы потом вставить эту ссылку на соответствующее место.

Вот в чем я прошу помочь.

Mirrrorr
На сайте с 16.03.2009
Offline
119
#10

Я так понял ты еще не знаешь абсолютного адреса сайта.

Тогда ставь 2 варианта кода. На страницы в корне папка/file.php, а на страницы в папках ../papka/file.php

Не сочтите меня параноиком, но мне кажется, что кто-то постоянно читает то, что я здесь пишу.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий